2010-09-16 116 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出口數據。