在我的应用程序中我正在使用gwt 2.5.0和gxt 2.2.5。所以,我有这个渲染器的ColumnConfig列:
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
,它应该是。{/ p>
当我从1.7升级gwt和从2.0.1升级gxt时出现此错误
答案 0 :(得分:0)
将类型添加到GridCellRenderer(根据您的错误我假设您使用的是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) {
// ...
render事件返回的模型现在是BeanModel,以获取原始元素,使用模型的 .getBean 属性。
OriginalObjectType myObj = model.getBean();
现在你可以从myObj获取你的对象:
List<AccountGroupDto> accountGroups = myObj.get(property);
希望这有帮助。