在Ext GWT网格中将bean路径转换为简单的字符串属性

时间:2012-02-23 10:47:23

标签: gwt binding gxt

我正在开发Ext GWT 3(beta)应用程序。

我试图在Grid中显示一个简单的依赖bean值。

我的数据bean看起来像这样:

public class MyBean {
    private String content;

    private MyOtherBean otherBean;

    // getters and setters here...
}


public class MyOtherBean {
    private String otherBeanContent;

    // getter and setter here...
}

PropertyAccess看起来像这样:

interface MyBeanProperties extends PropertyAccess<MyBean> {

    ModelKeyProvider<MyBean> key();

    ValueProvider<MyBean, String> content();

    ValueProvider<MyBean, MyOtherBean> otherBean();
}

使用相应的ColumnConfiguration,我的网格现在会显示一列content MyBean和一列MyOtherBean toString()

但我想改为显示MyOtherBean.otherBeanContent(不更改MyOtherBean的{​​{1}})。

我想我需要某种值转换器并将其注册到列中?或者我在这里采取了错误的做法?

1 个答案:

答案 0 :(得分:0)

这就是诀窍:

columnConfig.setCell(new PropertyDisplayCell<MyOtherBean>(new PropertyEditor<MyOtherBean>() {

        @Override
        public MyOtherBean parse(CharSequence text) throws ParseException {
            return otherBean.setOtherBeanContentFromText(text);
        }

        @Override
        public String render(MyOtherBean otherBean) {
            return otherBean == null ? "" : otherBean.getOtherBeanContent();
        }
    }));