如何使用AlivePDF将带有XMLList dataprovider的flex数据网格转换为pdf?

时间:2012-08-27 11:37:17

标签: flex alivepdf flex-datagrid

我的flex数据网格有一个XMLListCollection作为其数据提供者。

AlivePDF的网格期望数据网格的数据提供者是一个数组。

有没有办法在没有遍历每个XML节点的情况下对此表进行PDF并填充一组对象以提供给AlivePDF的Grid?

还有其他更好的解决方案,我可以尝试将此表格转换为PDF格式吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

ListCollectionViewXMLListCollection基类)有toArray()方法

所以,只需new Grid(dataProvider.toArray(),...)

答案 1 :(得分:0)

以下示例代码段可以帮助您: 这里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);