Экспортировать сгруппированный AdvancedDataGrid как текст CSV - PullRequest
0 голосов
/ 16 сентября 2010

Я пытаюсь экспортировать AdvancedDataGrid в CSV. Это достаточно просто для неиерархических данных, но при использовании HierarchicalCollectionView для отображения данных трэда становится сложнее.

Любые предложения о том, как получить доступ к каждой из ячеек так же, как они появляются на экране, когда развернуты все узлы?

Ответы [ 2 ]

4 голосов
/ 18 августа 2011

Если вы развернули все узлы, как вы упомянули (для этого вы можете использовать функцию AdvancedDataGrid's expandAll()), вы можете запустить AdvancedDataGrid через следующий класс утилит экспорта CSV для доступа к каждому ячейки, как они появляются на экране:

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

Однако при работе с HierarchicalCollectionView в качестве поставщика данных я обнаружил, что лучше написать некоторую пользовательскую логику, чтобы "сгладить" данные для экспорта в CSV.

0 голосов
/ 17 сентября 2010

Иерархические данные плохо отображаются в CSV, который по существу плоский.По сути, вы пытаетесь записать вложенные объекты в электронную таблицу.

Доступ к данным не так сложен, вы можете просто рекурсивно работать через getChildren () в коллекции.

Трудный бит - это записьэто в файл CSV способом, который может быть восстановлен позже.Единственный действительно хороший способ сделать это - игнорировать тот факт, что вы пишете в CSV.Как только вы попадете в дочернее поле корневого объекта, вы в конечном итоге напишите какой-то ужасный механизм разбора массива.

Мое решение?Запишите это в JSON и поместите в одну ячейку CSV.В долгосрочной перспективе вы избавите себя от смехотворной боли.

...