Как преобразовать гибкую сетку данных с провайдером данных XMLList в pdf, используя AlivePDF?

Моя гибкая сетка данных имеет XMLListCollection в качестве поставщика данных.

Сетка AlivePDF ожидает, что поставщик данных сетки данных будет массивом.

Есть ли способ отправить эту таблицу в PDF без прохождения через каждый узел XML и заполнения массива объектов для подачи в Grid AlivePDF?

Есть ли другие лучшие решения, которые я могу попробовать преобразовать эту таблицу в PDF?

Спасибо!

2 ответа

Решение

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);
Другие вопросы по тегам