Apache Flex 将分组的AdvancedDataGrid导出为CSV文本

qkf9rpyu  于 2023-01-04  发布在  Apache
关注(0)|答案(2)|浏览(161)

我正在尝试将AdvancedDataGrid导出到CSV。这对于非层次数据来说已经足够容易了,但是当使用HierarchicalCollectionView来显示树型数据时,就变得棘手了。
当所有节点都展开时,如何访问屏幕上显示的每个单元格?

cgfeq70w

cgfeq70w1#

如果已经展开了前面提到的所有节点(可以使用AdvancedDataGrid'sexpandAll()函数),那么可以通过下面的CSV导出实用程序类运行AdvancedDataGrid,以访问屏幕上显示的每个单元格:
https://onyxmueller.net/2011/08/20/advanceddatagrid-csv-export-utility-class/
但是,我发现在将HierarchicalCollectionView作为数据提供者处理时,最好编写一些自定义逻辑来“扁平化”CSV导出数据。

qzwqbdag

qzwqbdag2#

层次数据不能很好地Map到CSV,因为CSV本质上是平面的。您实际上是在尝试将嵌套对象写入电子表格。
访问数据并不困难,只需递归地处理集合中的getChildren()即可。
困难之处在于将其写入CSV文件中,并使其可以在以后检索。唯一真正好的方法是忽略您正在写入CSV的事实。一旦您到达根对象的children字段,您将结束编写一些可怕的数组解析机制。
我的解决方案是什么?把它写成JSON,然后把它放在CSV的一个单元格中。从长远来看,你会为自己节省大量的痛苦。

相关问题