列印歷來是web
應用乙個比較棘手的問題,幸好flex web
應用是執行在flash player
上的,flash player
可以訪問印表機,所以flex
應用可以實現比較強大的列印功能。flex
自身提供的printjob
、flexprintjob
相對來說用起來不是很方便,對於有嚴格紙張設定、翻頁等列印需求,略顯功能不足,因此需要基於printjob
或flexprintjob
來完善flex
的列印功能,及自定義列印控制項。
本控制項核心為: 1
)printmanager,列印控制核心類
2)iprintabledocument,列印文件設定,列印文件有3部分組成,分別是:printableheader、printablebody
、printablefooter。
因此,開發人員只要設計好printabledocument,重點排版好header、body、footer,然後呼叫printmanager的列印即可列印printabledocument了。
printablebody="
" printablefooter="
" printableheader="
">
width="
100%
" id="
p_header
" x="
0" y="
0" height="
81"
>
id="
pageheader
" text="
sample accounts
" stylename="
printtitle
" width="
100%
" textalign="
center
"/>
id="
cityheader
" text="
city of somewheretown
" width="
100%
" textalign="
center
" />
id="
entityheader
" text="
general accounts
" width="
100%
" textalign="
center
"/>
id="
p_body
" width="
100%
" bottom = "
28" x="
0" top="81"
>
id="
accountsdatagrid
" designviewdatatype="
flat
" dataprovider="
" horizontalgridlines="
false
" verticalgridlines="
false
" width="
100%
" height="
100%
" borderstyle="
none
" sortexpertmode="
true
" headerheight="0"
rowheight="30"
>
headertext="
account number
" datafield="
account
" textalign="
center
" width="
100"
/>
headertext="
control account
" datafield="
control
" textalign="
center
" width="
100"
/>
headertext="
description
" datafield="
description
" width="
300"
/>
id="
p_footer
" width="
100%
" height="
28" bottom="
0" left="
0" printtype="
perpage
">
text="
prepared by: authorname
" width="
33%" textalign="
center
"/>
text="
page of
" width="
34%" textalign="
right
"/>
id="
pagefooter
" text="
sample accounts
" width="
33%"
/>
1、printmanager
publicclassprintmanager
publicfunctionprint(document:iprintabledocument, parent:uicomponent =null):boolean
privatefunctionunscaledocument(document:iprintabledocument):void
/*** adjust print orientation
* scale the printdocument
*/privatefunctionrotatedocumentfor*****orientation(document:iprintabledocument, printjob:printjob):void
privatefunctionprintpage(document:iprintabledocument, printjob:printjob):void
publicfunctionprintinternal(document:iprintabledocument, printjob:printjob):boolean
document.movetofirstpage();
unscaledocument(document);
//adjust ***** orientation
rotatedocumentfor*****orientation(document, printjob);
//add first print page
printpage(document, printjob);
while(document.validnextpage)
printjob.send();
Flex自定義日曆控制項
在使用flex做日程安排的時候需要乙個日曆功能,在日曆中顯示日程資訊,flex自帶的日曆中沒有自定義功能,因此自己寫了乙個日曆控制項,效果如下 製作方法 建立乙個module,在其中放置乙個grid,將其分為7x7個單元格 介面 事件 itemclick 單擊事件 引數 e.result.data ...
flex 自定義元件的編寫
使用flex也很久了,也改過別人寫的flex自定義元件,但是就是沒有系統的研究下flex元件的編寫步驟,和要注意的東西,在這裡我參照一本書中的例子,好好的理解下,也為了鞏固下自己對flex的理解!1,重寫乙個元件系統依次呼叫constructor 構造方法 createchildren commit...
flex 自定義元件的編寫
使用flex也很久了,也改過別人寫的flex自定義元件,但是就是沒有系統的研究下flex元件的編寫步驟,和要注意的東西,在這裡我參照一本書中的例子,好好的理解下,也為了鞏固下自己對flex的理解!1,重寫乙個元件系統依次呼叫constructor 構造方法 createchildren commit...