Hi All I am using a PrintDataGrid to display data on 1 or more pages. I have headers and footers that are removed on certain pages.
It all works fine except for reports where only 1 page is produced. Here I get all the data but only the top half of the last row is visible. I can't see what is making this happen only in this case. Any ideas? Thanks Giles. Code: <PrintDataGridReport> <?xml version="1.0" encoding="utf-8"?> <mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" backgroundColor="#FFFFFF" paddingTop="20" paddingBottom="20" paddingLeft="8" paddingRight="8"> <mx:Script> <![CDATA[ [Bindable] public var heading:String; public function setPageType(pageType:String):void { lblFooter.visible = true; lblFooter.includeInLayout = true; lblHeading.visible = true; lblHeading.includeInLayout = true; switch(pageType) { case PAGE_ONLY: lblFooter.visible = false; lblFooter.includeInLayout = false; lblHeading.visible = false; lblHeading.includeInLayout = false; break; case PAGE_FIRST: break; case PAGE_MIDDLE: lblHeading.visible = false; lblHeading.includeInLayout = false; break; case PAGE_LAST: lblHeading.visible = false; lblHeading.includeInLayout = false; spcPageFiller.includeInLayout = true; break; } validateNow(); } public static const PAGE_ONLY:String = "onlyPage"; public static const PAGE_FIRST:String = "firstPage"; public static const PAGE_MIDDLE:String = "middlePage"; public static const PAGE_LAST:String = "lastPage"; ]]> </mx:Script> <mx:Label styleName="subHeading" id="lblHeading" width="100%" text="{heading}" /> <mx:PrintDataGrid width="100%" id="printDataGrid" wordWrap="true" fontSize="8" sizeToPage="true"/> <mx:Spacer height="100%" includeInLayout="false" id="spcPageFiller" /> <mx:HBox horizontalAlign="center" width="100%"> <mx:Label id="lblFooter" fontSize="8" /> </mx:HBox> </mx:VBox> <model> public function printDataGrid(sourceDataGrid:DataGrid,Heading:String):void { var printJob :FlexPrintJob = new FlexPrintJob(); if(printJob.start() != true)return; var printCanvas:PrintDataGridReport = new PrintDataGridReport(); Application.application.addChild(printCanvas); printCanvas.width = printJob.pageWidth; printCanvas.height = printJob.pageHeight; printCanvas.heading = Heading; printCanvas.printDataGrid.dataProvider = sourceDataGrid.dataProvider; printCanvas.printDataGrid.columns = sourceDataGrid.columns; printCanvas.setPageType(PrintDataGridReport.PAGE_ONLY); if(printCanvas.printDataGrid.validNextPage) { printCanvas.setPageType(PrintDataGridReport.PAGE_FIRST); printCanvas.lblFooter.text = "Page 1"; } printJob.addObject(printCanvas); var currentPage:int = 2; while (printCanvas.printDataGrid.validNextPage){ printCanvas.printDataGrid.nextPage(); printCanvas.setPageType(PrintDataGridReport.PAGE_LAST); printCanvas.lblFooter.text = "Page " + currentPage; if(printCanvas.printDataGrid.validNextPage) { printCanvas.setPageType(PrintDataGridReport.PAGE_MIDDLE); } printJob.addObject(printCanvas); currentPage++; } printJob.send(); Application.application.removeChild(printCanvas); }

