我正在开发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}})。
我想我需要某种值转换器并将其注册到列中?或者我在这里采取了错误的做法?
答案 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();
}
}));