我有一個advancedDataGrid自定義itemRenderer和網格外的單選按鈕組。當選擇單選按鈕時,我需要更新itemrenderer的顯示狀態。我正在使用帶有properties屬性的classfactory將參數傳遞給渲染器。刷新現有的DataGrid ItemRenderer
向網格添加新行時,itemrenderer顯示的顯示狀態正確,但當我更改單選按鈕時,屏幕上已有的任何呈示器不會刷新其顯示。我已經嘗試調用dataprovider上的refresh(),datagrid上的invalidateList()和invalidateDisplayList(),將dataprovider設置爲null,然後重置它,將列上的itemrenderer屬性設置爲null,然後重置它....沒有任何東西會強制渲染器更新。
網格是在tabNavigator中,所以如果我更改選項卡然後回來,渲染器都得到重繪,但這不是一個可接受的解決方法。如何告訴網格銷燬所有當前的渲染器並重新創建它們?
您是否創建了新的classfactory? – user1875642 2013-02-22 17:31:01
我嘗試在現有工廠上設置屬性並創建一個新工廠。都沒有工作。 – jhinkley 2013-02-22 17:32:48
這是令人驚訝的。當您將grid.itemRenderer設置爲新的ClassFactory時,它將刪除所有舊的itemrenderer並創建新的。嘗試調試並查看是否執行了AdvancedDataGridBase中的purgeItemRenderers函數。 – user1875642 2013-02-22 17:42:00