Преобразование пути бина в простое строковое свойство в сетке Ext GWT - PullRequest
0 голосов
/ 23 февраля 2012

Я работаю над приложением Ext GWT 3 (бета).

Я пытаюсь отобразить простое значение зависимого компонента в Grid.

Мои компоненты данных выглядят так:

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 's toString().

Но я хочу вместо этого отобразить MyOtherBean.otherBeanContent (без изменения MyOtherBean 'toString()).

Я думаю, мне нужен какой-то конвертер значений и зарегистрировать его для столбца? Или я ошибаюсь?

1 Ответ

0 голосов
/ 23 февраля 2012

Это сделал трюк:

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();
        }
    }));
...