У меня есть основной класс ClassA, у которого есть куча "обычных" свойств, которые являются простым типом данных, таких как int, строки и т. Д. Он также имеет одно свойство ("childItems"), которое представляет собой ArrayCollection ClassB.
Я использую ArrayCollection ClassA в качестве источника для поставщика иерархических данных для AdvancedDataGrid. Я установил для childrenField значение childItems.
Я хочу отобразить некоторую информацию о списке объектов ClassB во вложенной таблице и круговой диаграмме, поэтому я настраиваю AdvancedDataGridItemRendererProvider (columnIndex = 0, columnSpan = 0, deep = 2) и указываю его на свой пользовательский рендер, который HBox с таблицей и круговой диаграммой.
Чтобы увидеть, что задается, я переопределяю функцию «set data» в моем пользовательском рендерере, и я вижу, что каждый экземпляр ClassB в ArrayCollection передается рендереру отдельно.
Вот мой вопрос: я ожидал, что вся коллекция ArrayCollection экземпляров ClassB будет передана в пользовательский renderprovider один раз, а не каждый элемент в дочернем списке по отдельности. Как заставить ADG понять, что все свойство должно передаваться в качестве данных для средства визуализации, а не для каждой записи отдельно?
Кстати, когда я меняю тип данных childItems с ArrayCollection на ArrayList, весь список передается, и я легко могу делать то, что хочу. Но исходя из моего понимания, ArrayList на самом деле не должен использоваться, и ArrayCollection лучше или, по крайней мере, более распространен.
Любые идеи по этому вопросу будут оценены.
Спасибо!