我的flex数据网格有一个XMLListCollection作为其数据提供程序。
AlivePDF的Grid希望数据网格的数据提供者是一个数组。
有没有一种方法可以在不遍历每个XML节点并填充一组对象以馈送到AlivePDF的网格的情况下对该表进行PDF处理?
有没有其他更好的解决方案可以让我尝试将此表转换为PDF?
谢谢!
ListCollectionView
(XMLListCollection
基类)具有toArray()方法
因此,仅new Grid(dataProvider.toArray(),...)
以下是一个可能对您有所帮助的示例代码片段:这里dataGrid有2列。而chilledWaterLoopXml是包含数据的xml。。
var gridColumnFirstcol:GridColumn = new GridColumn('Design ΔT','designDelta', 40, Align.LEFT, Align.LEFT);
var gridColumnSecondcol:GridColumn = new GridColumn('Chilled Water', 'chilledWtrPump', 40, Align.LEFT, Align.LEFT);
var result:ArrayCollection=new ArrayCollection();
for(var i:int =0;i<chilledWaterLoopXml.children().length();i++)
{
var resultant:Object = new Object();
resultant["designDelta"]=chilledWaterLoopXml.child(i).designDelta;
resultant["chilledWtrPump"]=chilledWaterLoopXml.child(i).chilledWtrPump;
result.addItem(resultant);
}
var grid:org.alivepdf.data.Grid = new org.alivepdf.data.Grid( result.toArray() , 100,50, new RGBColor(0xD4CCC5), new RGBColor(0x66C66C),0, new RGBColor(0x000000),1,Joint.ROUND);
grid.columns = columns;
pdf.addGrid(grid);