我正在尝试将 AdvancedDataGrid 导出为 CSV。这对于非分层数据来说很容易,但是当使用 HierarchicalCollectionView 来显示树状数据时,它变得更加棘手。
当所有节点都展开时,关于如何访问每个单元格,就像它们出现在屏幕上一样,有什么建议吗?
我正在尝试将 AdvancedDataGrid 导出为 CSV。这对于非分层数据来说很容易,但是当使用 HierarchicalCollectionView 来显示树状数据时,它变得更加棘手。
当所有节点都展开时,关于如何访问每个单元格,就像它们出现在屏幕上一样,有什么建议吗?
如果您已经像您提到的那样扩展了所有节点(您可以为此使用该AdvancedDataGrid's
expandAll()
函数),然后您可以运行AdvancedDataGrid
以下 CSV 导出实用程序类来访问屏幕上显示的每个单元格:
http://onyxmueller.net/2011/08/15/advanceddatagrid-csv-export-utility-class/
但是,我发现在处理 aHierarchicalCollectionView
作为数据提供者时,最好编写一些自定义逻辑来“扁平化”CSV 导出的数据。
分层数据不能很好地映射到本质上是扁平的 CSV。您实际上是在尝试将嵌套对象写入电子表格。
访问数据并不难,您可以通过集合中的 getChildren() 递归地工作。
难点是以一种以后可以检索的方式将其写入 CSV 文件。唯一真正好的方法是忽略您正在写入 CSV 的事实。一旦你到达根对象的 children 字段,你最终会编写一些可怕的数组解析机制。
我的解决方案?将其写入 JSON,并将其粘贴到 CSV 的单个单元格中。从长远来看,你会为自己省去很多可笑的痛苦。