0

私のアプリでは、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です。

このエラーは、gwt を 1.7 から、gxt を 2.0.1 からアップグレードしたときに発生しました。

4

1 に答える 1

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);

お役に立てれば。

于 2013-02-18T19:33:10.747 に答える