AdvancedDataGrid を CSV にエクスポートしようとしています。これは、非階層データの場合は簡単ですが、HierarchicalCollectionView を使用してツリー化されたデータを表示する場合は、さらに複雑になります。
すべてのノードが展開されたときに画面に表示されるのと同じように、各セルにアクセスする方法について何か提案はありますか?
AdvancedDataGrid を CSV にエクスポートしようとしています。これは、非階層データの場合は簡単ですが、HierarchicalCollectionView を使用してツリー化されたデータを表示する場合は、さらに複雑になります。
すべてのノードが展開されたときに画面に表示されるのと同じように、各セルにアクセスする方法について何か提案はありますか?
前述のようにすべてのノードを展開した場合(AdvancedDataGrid's
expandAll()
この関数を使用できます)、AdvancedDataGrid
次のCSVエクスポートユーティリティクラスを実行して、画面に表示される各セルにアクセスできます。
http://onyxmueller.net/2011/08/15/advanceddatagrid-csv-export-utility-class/
ただし、をデータプロバイダーとして扱う場合HierarchicalCollectionView
、CSVエクスポート用にデータを「フラット化」するカスタムロジックを作成する方がよいことがわかりました。
階層データは、基本的にフラットな CSV にうまくマッピングされません。基本的に、ネストされたオブジェクトをスプレッドシートに書き込もうとしています。
データへのアクセスはそれほど難しくありません。コレクション内の getChildren() を再帰的に処理するだけです。
ハードビットは、後で取得できる方法で CSV ファイルに書き込むことです。これを行う唯一の本当に良い方法は、CSV に書き込んでいるという事実を無視することです。ルート オブジェクトの children フィールドにたどり着くとすぐに、恐ろしい配列解析メカニズムを作成することになります。
私の解決策は?JSON に書き出し、CSV の 1 つのセルに貼り付けます。長期的には、ばかげた量の痛みを自分で節約できます。