исключить отдельные элементы из группировки в groupingcollection

У меня есть плоский массив данных, который образует удаленный объект, я хочу сгруппировать все, что нужно сгруппировать, но оставить отдельные элементы (те, у которых нет общих данных ни с чем другим) одни и без группировки, раздражает открывать каждый узел только для обнаружил, что внутри только один элемент, поэтому в любом случае не было необходимости помещать его в эту группу.

Кто-нибудь это сделал? Я не могу найти никакой ссылки, и я не знаю, будет ли извлекать иерархические данные из коллекции groupingcollection и затем повторять через это, звучит как много повторяющейся работы.


person Gustavo Parrado    schedule 28.01.2011    source источник
comment
Судя по тому, что я видел, это невозможно, к тому же сделать это нетривиально, извините за плохие новости. Я покопался в коде GroupingCollection.as и обнаружил, что метод refresh () вызывает частный метод makeGroupedCollection (), который, в свою очередь, вызывает другой частный метод buildGroups (), в этом методе есть цикл, в котором выполняется работа. Насколько я понимаю, ваши варианты: расширить GroupingCollection и переопределить обновление, или обезьяна исправит копию GroupingCollection и изменит цикл (даже если ADG или другой пользовательский интерфейс может быть обидчивым относительно того, как он ожидает, что GC будет представлять данные) GL   -  person shaunhusain    schedule 29.01.2011
comment
В качестве альтернативы вы можете создать средство визуализации, которое отображает количество сгруппированных строк, чтобы, по крайней мере, вы знали, что определенные узлы имеют только 1 дочерний элемент (мы использовали это, и это имеет смысл для меня, поддерживает согласованное поведение сгруппированных строк, но не Мне нужно развернуть, чтобы увидеть, что есть только 1, хотя я понимаю, что это не то же самое, что просто видеть данные в строке).   -  person shaunhusain    schedule 29.01.2011


Ответы (2)


В конце концов я сделал то, что сказал Шаунхузан, я создал свою собственную копию groupingcollection и обезьяны исправил способ создания групп, еще не достаточно чистый для публикации или общего использования, но работал над этим.

person Gustavo Parrado    schedule 23.02.2011

Также можно использовать средство визуализации групповых элементов и скрыть значок раскрытия в зависимости от количества дочерних элементов.

<mx:AdvancedDataGrid id="adg" 
     groupItemRenderer="my.namespace.GroupedItemRenderer"
</mx:AdvancedDataGrid>

GroupedItemRenderer является подклассом AdvancedDataGridGroupItemRenderer.

В updateDisplayList:

if (data && data.hasOwnProperty("children")) {
disclosureIcon.visible = (data.children.length > 0);
}
person StephenNYC    schedule 23.11.2011
comment
будет ли это отображать содержимое первого элемента и отображать его по столбцам? - person Gustavo Parrado; 24.11.2011