会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
Blog
C0#1J0a1v0a1r0u0b1y0r1a1i1ls0f0l0e0x01
首页
新随笔
联系
管理
订阅
Flex 打印DataGrid内容 2.0
<?
xml version="1.0" encoding="utf-8"
?>
<
mx:VBox
xmlns:mx
="http://www.adobe.com/2006/mxml"
xmlns
="*"
backgroundColor
="#FFFFFF"
fontFamily
="simsun"
fontSize
="12"
paddingTop
="50"
paddingBottom
="50"
paddingLeft
="30"
paddingRight
="30"
height
="268"
width
="748"
>
<
mx:Script
>
<![CDATA[
import mx.controls.DateField;
import mx.core.*
import mx.collections.ArrayCollection;
import mx.printing.*;
[Bindable]
private var pageNumber:Number = 1;
[Bindable]
private var prodTotal:Number = 0;
[Bindable]
private var reportTitle:String = "报表标题";
[Bindable]
private var datetime:String = "";
public static var footerHeight:Number = 20;
public static var prodIndex:Number;
public static var prodTotal:Number = 0;
public static function doPrint(datap:Object,title:String,columns:Array):void {
var printJob:FlexPrintJob = new FlexPrintJob();
if (printJob.start()) {
var thePrintView:FormPrintView = new FormPrintView();
Application.application.addChild(thePrintView);
thePrintView.reportTitle = title;
thePrintView.datetime = mx.controls.DateField.dateToString(new Date(),"YYYY年MM月DD日");
thePrintView.printDataGrid.columns = columns;
thePrintView.width=printJob.pageWidth;
thePrintView.height=printJob.pageHeight;
thePrintView.prodTotal = (datap as ArrayCollection).length;
thePrintView.printDataGrid.dataProvider = datap;//设置数据v
thePrintView.showPage("single");
if(!thePrintView.printDataGrid.validNextPage){
printJob.addObject(thePrintView);
}
else{
thePrintView.showPage("first");
printJob.addObject(thePrintView);
thePrintView.pageNumber++;
while(true){
thePrintView.printDataGrid.nextPage();
thePrintView.showPage("last");
if(!thePrintView.printDataGrid.validNextPage) {
printJob.addObject(thePrintView);
break;
}
else{
thePrintView.showPage("middle");
printJob.addObject(thePrintView);
thePrintView.pageNumber++;
}
}
}
Application.application.removeChild(thePrintView);
}
printJob.send();
}
private function showPage(pageType:String):void {
if(pageType == "first" || pageType == "middle") {
footer.includeInLayout=false;
footer.visible = false;
}
if(pageType == "middle" || pageType == "last") {
header.includeInLayout=false;
header.visible = false;
}
if(pageType == "last") {
// Show the footer.
footer.includeInLayout=true;
footer.visible = true;
}
//Update the DataGrid layout to reflect the results.
validateNow();
}
]]>
</
mx:Script
>
<!--
The template for the printed page, with the contents for all pages.
-->
<
mx:VBox
width
="100%"
horizontalAlign
="left"
>
<
mx:Label
text
="第 {pageNumber}页"
color
="#9e9e9e"
/>
<
mx:Label
id
="header"
text
="{reportTitle}"
fontWeight
="bold"
fontSize
="21"
textAlign
="center"
width
="100%"
/>
<
mx:HRule
width
="100%"
height
="1"
strokeColor
="#000000"
/>
</
mx:VBox
>
<
mx:PrintDataGrid
id
="printDataGrid"
width
="100%"
height
="100%"
fontFamily
="simsun"
fontSize
="12"
/>
<
mx:VBox
width
="100%"
horizontalAlign
="left"
id
="footer"
>
<
mx:Spacer
height
="100%"
/>
<
mx:HRule
width
="100%"
height
="1"
strokeColor
="#000000"
/>
<
mx:HBox
width
="100%"
>
<
mx:Label
text
="记录总数:{prodTotal}"
/>
<
mx:Spacer
width
="100%"
/>
<
mx:Label
text
="打印日期:{datetime}"
/>
</
mx:HBox
>
</
mx:VBox
>
</
mx:VBox
>
posted @
2007-01-24 20:14
Liren
阅读(
2926
) 评论(
1
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告