Flex 打印DataGrid内容 2.0<?xml version="1.0" encoding="utf-8"?>
Flex 打印DataGrid内容 2.0
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" 
Flex 打印DataGrid内容 2.0    backgroundColor
="#FFFFFF" 
Flex 打印DataGrid内容 2.0    fontFamily
="simsun" fontSize="12"
Flex 打印DataGrid内容 2.0    paddingTop
="50" paddingBottom="50" paddingLeft="30" paddingRight="30" 
Flex 打印DataGrid内容 2.0    height
="268" width="748">
Flex 打印DataGrid内容 2.0    
<mx:Script>
Flex 打印DataGrid内容 2.0        
<![CDATA[
Flex 打印DataGrid内容 2.0            import mx.controls.DateField;
Flex 打印DataGrid内容 2.0            import mx.core.*
Flex 打印DataGrid内容 2.0            import mx.collections.ArrayCollection;
Flex 打印DataGrid内容 2.0            import mx.printing.*;
Flex 打印DataGrid内容 2.0            
Flex 打印DataGrid内容 2.0            [Bindable]
Flex 打印DataGrid内容 2.0            private var pageNumber:Number = 1;
Flex 打印DataGrid内容 2.0            
Flex 打印DataGrid内容 2.0            [Bindable]
Flex 打印DataGrid内容 2.0            private var prodTotal:Number = 0;
Flex 打印DataGrid内容 2.0            
Flex 打印DataGrid内容 2.0            [Bindable]
Flex 打印DataGrid内容 2.0            private var reportTitle:String = "报表标题";
Flex 打印DataGrid内容 2.0            
Flex 打印DataGrid内容 2.0            [Bindable]
Flex 打印DataGrid内容 2.0            private var datetime:String = "";
Flex 打印DataGrid内容 2.0            
Flex 打印DataGrid内容 2.0            public static var footerHeight:Number = 20;
Flex 打印DataGrid内容 2.0            public static var prodIndex:Number;
Flex 打印DataGrid内容 2.0            public static var prodTotal:Number = 0;
Flex 打印DataGrid内容 2.0
Flex 打印DataGrid内容 2.0            public static function doPrint(datap:Object,title:String,columns:Array):void {                
Flex 打印DataGrid内容 2.0                var printJob:FlexPrintJob = new FlexPrintJob();
Flex 打印DataGrid内容 2.0                if (printJob.start()) {                   
Flex 打印DataGrid内容 2.0                    var thePrintView:FormPrintView = new FormPrintView();
Flex 打印DataGrid内容 2.0                    Application.application.addChild(thePrintView);      
Flex 打印DataGrid内容 2.0                    thePrintView.reportTitle = title;
Flex 打印DataGrid内容 2.0                    thePrintView.datetime = mx.controls.DateField.dateToString(new Date(),"YYYY年MM月DD日");
Flex 打印DataGrid内容 2.0                    thePrintView.printDataGrid.columns = columns;              
Flex 打印DataGrid内容 2.0                    thePrintView.width=printJob.pageWidth;
Flex 打印DataGrid内容 2.0                    thePrintView.height=printJob.pageHeight;                    
Flex 打印DataGrid内容 2.0                    thePrintView.prodTotal = (datap as ArrayCollection).length; 
Flex 打印DataGrid内容 2.0                    thePrintView.printDataGrid.dataProvider = datap;//设置数据v          
Flex 打印DataGrid内容 2.0                    thePrintView.showPage("single");
Flex 打印DataGrid内容 2.0                    if(!thePrintView.printDataGrid.validNextPage){
Flex 打印DataGrid内容 2.0                        printJob.addObject(thePrintView);
Flex 打印DataGrid内容 2.0                    }
Flex 打印DataGrid内容 2.0                    else{
Flex 打印DataGrid内容 2.0                        thePrintView.showPage("first");
Flex 打印DataGrid内容 2.0                        printJob.addObject(thePrintView);
Flex 打印DataGrid内容 2.0                        thePrintView.pageNumber++;
Flex 打印DataGrid内容 2.0                        while(true){
Flex 打印DataGrid内容 2.0                            thePrintView.printDataGrid.nextPage();
Flex 打印DataGrid内容 2.0                            thePrintView.showPage("last");    
Flex 打印DataGrid内容 2.0                            if(!thePrintView.printDataGrid.validNextPage) {
Flex 打印DataGrid内容 2.0                                printJob.addObject(thePrintView);
Flex 打印DataGrid内容 2.0                                break;
Flex 打印DataGrid内容 2.0                            }
Flex 打印DataGrid内容 2.0                            else{
Flex 打印DataGrid内容 2.0                                thePrintView.showPage("middle");
Flex 打印DataGrid内容 2.0                                printJob.addObject(thePrintView);
Flex 打印DataGrid内容 2.0                                thePrintView.pageNumber++;
Flex 打印DataGrid内容 2.0                            }
Flex 打印DataGrid内容 2.0                        }
Flex 打印DataGrid内容 2.0                    }
Flex 打印DataGrid内容 2.0                    Application.application.removeChild(thePrintView);
Flex 打印DataGrid内容 2.0                }
Flex 打印DataGrid内容 2.0                printJob.send();
Flex 打印DataGrid内容 2.0            }
Flex 打印DataGrid内容 2.0            
Flex 打印DataGrid内容 2.0            private function showPage(pageType:String):void {
Flex 打印DataGrid内容 2.0                if(pageType == "first" || pageType == "middle") {
Flex 打印DataGrid内容 2.0                    footer.includeInLayout=false;
Flex 打印DataGrid内容 2.0                    footer.visible = false;
Flex 打印DataGrid内容 2.0                }
Flex 打印DataGrid内容 2.0                if(pageType == "middle" || pageType == "last") {
Flex 打印DataGrid内容 2.0                    header.includeInLayout=false;
Flex 打印DataGrid内容 2.0                    header.visible = false;
Flex 打印DataGrid内容 2.0                }
Flex 打印DataGrid内容 2.0                if(pageType == "last") {
Flex 打印DataGrid内容 2.0                    // Show the footer.
Flex 打印DataGrid内容 2.0                    footer.includeInLayout=true;
Flex 打印DataGrid内容 2.0                    footer.visible = true;
Flex 打印DataGrid内容 2.0                }
Flex 打印DataGrid内容 2.0                //Update the DataGrid layout to reflect the results.
Flex 打印DataGrid内容 2.0                validateNow();
Flex 打印DataGrid内容 2.0            }        
Flex 打印DataGrid内容 2.0        
]]>
Flex 打印DataGrid内容 2.0    
</mx:Script>
Flex 打印DataGrid内容 2.0
Flex 打印DataGrid内容 2.0    
<!-- The template for the printed page, with the contents for all pages. -->
Flex 打印DataGrid内容 2.0    
<mx:VBox width="100%" horizontalAlign="left">
Flex 打印DataGrid内容 2.0        
<mx:Label text="第 {pageNumber}页" color="#9e9e9e"/>
Flex 打印DataGrid内容 2.0        
<mx:Label id="header" text="{reportTitle}" fontWeight="bold" fontSize="21" textAlign="center" width="100%"/>
Flex 打印DataGrid内容 2.0        
<mx:HRule width="100%" height="1" strokeColor="#000000"/>
Flex 打印DataGrid内容 2.0    
</mx:VBox>
Flex 打印DataGrid内容 2.0    
Flex 打印DataGrid内容 2.0    
<mx:PrintDataGrid id="printDataGrid" width="100%" height="100%" fontFamily="simsun" fontSize="12"/>
Flex 打印DataGrid内容 2.0    
<mx:VBox width="100%" horizontalAlign="left" id="footer" >
Flex 打印DataGrid内容 2.0        
<mx:Spacer height="100%"/>
Flex 打印DataGrid内容 2.0        
<mx:HRule width="100%" height="1" strokeColor="#000000"/>
Flex 打印DataGrid内容 2.0        
<mx:HBox width="100%">
Flex 打印DataGrid内容 2.0            
<mx:Label text="记录总数:{prodTotal}"/>
Flex 打印DataGrid内容 2.0            
<mx:Spacer width="100%"/>
Flex 打印DataGrid内容 2.0            
<mx:Label text="打印日期:{datetime}"/>
Flex 打印DataGrid内容 2.0        
</mx:HBox>
Flex 打印DataGrid内容 2.0    
</mx:VBox>
Flex 打印DataGrid内容 2.0
Flex 打印DataGrid内容 2.0
</mx:VBox>
Flex 打印DataGrid内容 2.0

相关文章: