2013-02-14 48 views
0

在我的應用程序中我使用gwt 2.5.0和gxt 2.2.5。所以,我有我的ColumnConfig柱與此渲染:GXT model.get()返回錯誤類型的實例

column.setRenderer(new GridCellRenderer() { 

      @Override 
      public Text render(ModelData model, String property, ColumnData config, int rowIndex, int colIndex, ListStore listStore, Grid grid) { 
       List<AccountGroupDto> accountGroups = model.get(property); 
       // some stuff here 

       return groupsText; 
      } 
     }); 

但是,當我嘗試做一些與我的名單emenetns,我得到了某種類型轉換錯誤。我使用了一個調試器,看起來我的列表元素的類型是com.example.core.application.api.BeanModel_com_example_core_application_api_AccountGroupDto,它不能轉換爲com.example.core.application.api.AccountGroupDto,它應該是。

此錯誤出現時,我已經從1.7和GXT從2.0.1

回答

0

升級GWT類型添加到您的GridCellRenderer(acording到你的錯誤我asume您使用BeanModel來完完全全),因此使用此類型:

column.setRenderer(new GridCellRenderer<BeanModel>() { 

      @Override 
      public Object render(BeanModel model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<BeanModel> store, Grid<BeanModel> grid) { 
       // ... 

由渲染事件返回的模型它的一個BeanModel,現在獲取原始元素使用模型的.getBean屬性。

OriginalObjectType myObj = model.getBean(); 

現在你可以從MyObj中得到你的對象:

List<AccountGroupDto> accountGroups = myObj.get(property); 

希望這有助於。