Flex打印DataGrid内容
FromPrintView.mxml
<?xmlversion="1.0"?> <!--CustomcontroltoprinttheDataGridcontrolonmultiplepages.--> <mx:VBoxxmlns:mx="http://www.adobe.com/2006/mxml"xmlns="*"backgroundColor="#FFFFFF" paddingTop="50"paddingBottom="50"paddingLeft="50"paddingRight="50"height="168" width="546"> <mx:Script> <![CDATA[ importmx.core.* importmx.collections.ArrayCollection; [Bindable] publicvarpageNumber:Number=1; [Bindable] publicvarprodTotal:Number=0; importmx.printing.*; publicstaticvarfooterHeight:Number=20; publicstaticvarprodIndex:Number; publicstaticvarprodTotal:Number=0; publicstaticfunctiondoPrint(datap:Object):void{ varprintJob:FlexPrintJob=newFlexPrintJob(); if(printJob.start()){ varthePrintView:FormPrintView=newFormPrintView(); Application.application.addChild(thePrintView); thePrintView.width=printJob.pageWidth; thePrintView.height=printJob.pageHeight; thePrintView.prodTotal=(datapasArrayCollection).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(); } publicfunctionshowPage(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"){ //Showthefooter. footer.includeInLayout=true; footer.visible=true; } //UpdatetheDataGridlayouttoreflecttheresults. validateNow(); } ]]> </mx:Script> <!--Thetemplatefortheprintedpage,withthecontentsforallpages.--> <mx:VBoxwidth="100%"horizontalAlign="left"> <mx:Labeltext="第{pageNumber}页"color="#9e9e9e"/> <mx:Labelid="header"text="通道申请名录"fontWeight="bold"fontSize="20"textAlign="center"width="100%"/> <mx:HRulewidth="100%"height="1"strokeColor="#000000"/> </mx:VBox> <mx:PrintDataGridid="printDataGrid"width="100%"height="100%"> <mx:columns> <mx:DataGridColumndataField="姓名"width="150"/> <mx:DataGridColumndataField="性别"width="40"/> <mx:DataGridColumndataField="学号"width="80"/> <mx:DataGridColumndataField="准考证号"width="90"/> <mx:DataGridColumndataField="生源地"width="60"/> <mx:DataGridColumndataField="身份"width="75"/> <mx:DataGridColumndataField="户口"width="75"/> <mx:DataGridColumndataField="部门"width="100"/> <mx:DataGridColumndataField="财务处是否办理"headerText="是否办理"/> </mx:columns> </mx:PrintDataGrid> <mx:VBoxwidth="100%"horizontalAlign="left"id="footer" > <mx:Spacerheight="100%"/> <mx:HRulewidth="100%"height="1"strokeColor="#000000"/> <mx:Labeltext="总人数:{prodTotal}"/> </mx:VBox> </mx:VBox>
调用方法
<mx:Buttonlabel="打印" click="{FormPrintView.doPrint(this.myDataGrid.dataProvider)}"/>
优质内容筛选与推荐>>