2010-09-16 45 views
0

我试图将AdvancedDataGrid导出为CSV。对于非分层数据来说这很容易,但是当使用HierarchicalCollectionView显示treed数据时,它会变得更加棘手。导出将CSV文本分组为AdvancedDataGrid

有关如何访问每个单元的任何建议,就像它们在所有节点展开时出现在屏幕上一样?

回答

0

分层数据不能很好地映射到基本上平坦的CSV。你基本上试图将嵌套对象写入电子表格。

访问数据并不难,你可以递归地通过集合中的getChildren()来工作。

这个硬盘以一种可以稍后检索的方式将它写入CSV文件。唯一真正有效的方法是忽略你写入CSV的事实。只要你到达根对象的子字段,你最终会写一些可怕的数组解析机制。

我的解决方案?将它写出到JSON,并将其粘贴到CSV的单个单元格中。长远来看,你会为自己节省一笔可笑的痛苦。

+0

是的,但嵌套的对象可以很容易地标准化为一个表,只需在每行中添加它们的父节点即可。我通过遍历数据模型来完成它,但这意味着没有调用适当的列渲染器。 – Senior 2010-09-20 13:16:48

4

如果你已经扩大所有节点像你提到的(你可以使用这个AdvancedDataGrid'sexpandAll()功能),然后你可以运行AdvancedDataGrid通过以下CSV导出工具类,因为它们出现在访问每个单元屏幕:

http://onyxmueller.net/2011/08/15/advanceddatagrid-csv-export-utility-class/

然而,随着HierarchicalCollectionView作为数据提供者打交道时,我发现,这是最好编写一些自定义的逻辑为“扁平化”为CSV出口数据。