前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flex 打印DataGrid内容

Flex 打印DataGrid内容

作者头像
用户3135539
发布2018-09-12 11:46:09
8820
发布2018-09-12 11:46:09
举报
文章被收录于专栏:

FromPrintView.mxml

<?xml version="1.0"?> <!-- Custom control to print the DataGrid control on multiple pages. --> <mx:VBox xmlns: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[             import mx.core.*             import mx.collections.ArrayCollection;             [Bindable]             public var pageNumber:Number = 1;             [Bindable]             public var prodTotal:Number = 0;             import mx.printing.*;             public static  var footerHeight:Number = 20;             public static var prodIndex:Number;             public static var prodTotal:Number = 0;             public static function doPrint(datap:Object):void {                 var printJob:FlexPrintJob = new FlexPrintJob();                 if (printJob.start()) {                                        var thePrintView:FormPrintView = new FormPrintView();                     Application.application.addChild(thePrintView);                                         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();             }             public 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="通道申请名录" fontWeight="bold" fontSize="20" textAlign="center" width="100%"/> <mx:HRule width="100%" height="1" strokeColor="#000000"/> </mx:VBox> <mx:PrintDataGrid id="printDataGrid" width="100%" height="100%"> <mx:columns> <mx:DataGridColumn dataField="姓名" width="150"/> <mx:DataGridColumn dataField="性别" width="40"/> <mx:DataGridColumn dataField="学号" width="80"/> <mx:DataGridColumn dataField="准考证号" width="90"/> <mx:DataGridColumn dataField="生源地" width="60"/> <mx:DataGridColumn dataField="身份" width="75"/> <mx:DataGridColumn dataField="户口" width="75"/> <mx:DataGridColumn dataField="部门" width="100"/> <mx:DataGridColumn dataField="财务处是否办理" headerText="是否办理"/> </mx:columns> </mx:PrintDataGrid> <mx:VBox width="100%" horizontalAlign="left" id="footer" > <mx:Spacer height="100%"/> <mx:HRule width="100%" height="1" strokeColor="#000000"/> <mx:Label text="总人数:{prodTotal}"/> </mx:VBox> </mx:VBox>

调用方法

<mx:Button label="打印" click="{FormPrintView.doPrint(this.myDataGrid.dataProvider)}"/>

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2006-09-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档