У меня есть advancedDataGrid с настраиваемым элементом itemRenderer и группой переключателей за пределами сетки. При выборе переключателей мне нужно обновить состояние отображения itemrenderers. Я использую classfactory с атрибутом свойств для передачи в параметр рендерерам.Обновить существующий DataGrid ItemRenderers
При добавлении новой строки в сетку элемент-указатель появляется с правильным состоянием отображения, но любые рендеринги, которые уже находятся на экране при изменении переключателя, не обновляют их отображение. Я попытался вызвать refresh() на dataprovider, invalidateList() и invalidateDisplayList() в datagrid, установив dataprovider в null и затем сбросив его, установив свойство itemrenderer в столбце нулевым и затем сбросив его .... ничто не заставляет рендеринга обновляться.
Сетка находится в tabNavigator, поэтому, если я изменяю вкладку, а затем возвращаюсь, рендеринги все перерисовываются, но это не приемлемое обходное решение. Как вам сказать сетке уничтожить все свои текущие рендереры и воссоздать их?
Вы создаете новый класс? – user1875642
Я попытался установить свойства на существующем заводе, а также создать новый. Ничего не сработало. – jhinkley
это удивительно. когда вы устанавливаете grid.itemRenderer в новый ClassFactory, он удаляет все старые itemrenderers и создает новые. Попробуйте отладить и проверить, работает ли функция purgeItemRenderers в AdvancedDataGridBase. – user1875642