0
我試圖用flex printjob從datagrid打印數據。在網格中約有40條線路充滿了數據。Flex打印作業崩潰
但是,當我嘗試打印時,應用程序崩潰,但打印了一些頁面。
這裏是我的代碼:
protected function openPrintDialogMonth():void {
doPrintingMonth();
}
protected function doPrintingMonth():void {
var printjob2:FlexPrintJob;
var printTemplate:printTemplate = new printTemplate();
var printDataGrid:PrintDataGrid;
printjob2 = new FlexPrintJob();
if(printjob2.start())
{
var currentYear:Date = new Date();
var dataArray:Array = new Array();
trace("Width/Height:", printjob2.pageWidth, "/", printjob2.pageHeight);
printDataGrid = new PrintDataGrid();
printTemplate.width = 1368;
printTemplate.height = 800;
printTemplate.data = gridReport.dataProvider;
printTemplate.editData();
printTemplate.year = String(currentYear.getFullYear());
printTemplate.printDataGrid.columns = gridReport.columns;
printTemplate.printDataGrid.columnWidth = gridReport.columnWidth;
printTemplate.printDataGrid.visible = true;
printTemplate.printDataGrid.showHeaders = true;
printTemplate.printDataGrid.sizeToPage = true;
printTemplate.scaleX = 1.00;
printTemplate.validateNow();
this.addElement(printTemplate);
if(!printTemplate.printDataGrid.validNextPage)
{
printjob2.addObject(printTemplate,FlexPrintJobScaleType.MATCH_WIDTH);
this.removeElement(printTemplate);
}
else
{
printjob2.addObject(printTemplate,FlexPrintJobScaleType.MATCH_WIDTH);
this.removeElement(printTemplate);
while(true)
{
printTemplate.printDataGrid.nextPage();
printjob2.addObject(printTemplate,FlexPrintJobScaleType.MATCH_WIDTH);
if(!printTemplate.printDataGrid.validNextPage)
break;
}
}
printjob2.send();
}
}
當應用程序「崩潰」發生任何錯誤時,您是否驗證過您正在瀏覽器中使用Flash Player調試播放器。 – shaunhusain 2012-07-20 17:57:48
我在Adobe空氣中使用打印功能。如果打印文件更長,只會出現一些頁面 – galileoGalilei 2012-07-21 15:03:28