如何使用mx Prints DataGrid打印flex spark datagrid?或者是否有其他方法可以在不使用mx Prints DataGrid的情况下实现此目的?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用mx Prints DataGrid打印flex spark datagrid?或者是否有其他方法可以在不使用mx Prints DataGrid的情况下实现此目的?相关的知识,希望对你有一定的参考价值。
这是我第一次在这里问,因为我的问题在adobe flex论坛中无法回答。所以至少最后,我来这里管理它。
好吧,Flex 4.5+是我想现在每个人都在努力,所以我问这个问题,因为我还没有找到同时使用spark datagrid和mx printdatagrid组件。
我想要实现的是打印我的spark数据网格中的所有数据。因此,当我进行研究时,我们使用PrintJob或FlexPrintJob类。它工作正常,但是当我需要打印多个页面,因为我的spark数据网格上的数据很长,我无法以某种方式找到一种方法。打印输出仅高达我的spark数据网格的高度。所以在我的研究中,他们以某种方式管理它以使用mx:PrintDataGrid组件。但令人遗憾的是,他们用mx:DataGrid做到了。现在我的问题出现了 - 如何使用mx:PrintDataGrid以及s:DataGrid。
var printJob:PrintJob = new PrintJob();
if (printJob.start())
{
var printGrid:PrintDataGrid = new PrintDataGrid();
printGrid.width = printJob.pageWidth;
printGrid.height = printJob.pageHeight;
printGrid.columns = mySparkDataGrid.columns; // this line throws an exception
printGrid.dataProvider = mySparkDataGrid.dataProvider;
printGrid.visible = false;
FlexGlobals.topLevelApplication.addElement(printGrid);
while (printGrid.validNextPage)
{
printGrid.nextPage();
printJob.addPage(printGrid);
}
printJob.send();
parentApplication.removeElement(printGrid);
}
那么请,这里的任何人都可以帮助我吗?如果无法将spark datagrid列转换为mx datagrid列,是否可以使用多个页面打印spark数据网格中的所有数据?
非常感谢提前。
-Ted
试试这样的东西(对我有用)
for (var i:int = 0; i < mySparkDataGrid.columns.length - 1; i++) {
var tmpColumn:DataGridColumn = new DataGridColumn();
tmpColumn.headerText = (mySparkDataGrid.columns.getItemAt(i) as GridColumn).headerText;
tmpColumns.push(tmpColumn);
}
printGrid.columns = tmpColumns;
现在我必须找到方法,如何使用ItemRender.My dataprovider有更大的对象,我必须解析它以在网格中显示正确的数据。同样我需要做的打印。
以上是关于如何使用mx Prints DataGrid打印flex spark datagrid?或者是否有其他方法可以在不使用mx Prints DataGrid的情况下实现此目的?的主要内容,如果未能解决你的问题,请参考以下文章
我如何知道何时单击了 Flex DataGrid itemRenderer 中的按钮?