Важное изменение: я добавил уровень глубины в ситуацию, чтобы лучше отразить мою проблему.Пользовательский фильтр объекта для столбца сетки в sencha GXT
У меня есть сетка GXT с ListStore определенного типа Foo
. Foo
имеет некоторые важные свойства объекта, включая один из типов Bar
. Тип Bar
состоит из двух свойств объекта: fooFoo
типа FooFoo
и barBar
типа Barbar
. Эти два могут быть null
и иметь String
объект description
.
Я хочу использовать фильтрацию в GXT сетке, чтобы фильтровать Foo
объект записи по FooFoo
или BarBar
описание их Bar
-значения.
Я пытался добавить ValueProvider<Foo, String> barDescription();
к FooProperties
, в результате чего:
StringFilter<Foo> barbarFilter = new StringFilter<Foo>(fooProps.barbarDescription());
В которойFoo#getBarBarDescription()
реализуется следующим образом:
public String getBarBarDescription() {
return this.getBar().getBarBar().getDescription();
}
Есть простой/удобный способ реализовать это поведение в GXT? Я этого не нашел.
Реализация, описанная выше, является той, которую я пробовал, но фильтры вообще не отображаются в сетке, никаких дополнительных сообщений об ошибках.
В ответ на ответ Колина к предыдущей версии моего вопроса, я попытался следующие:
@Path("bar.barbar.description")
ValueProvider<Foo, String> barbarDescription();
Надеясь на это, чтобы позвонить Foo#getBar().getBarBar().getDescription()
. Я подозреваю, что FooFoo и BarBar могут быть null
могут вызывать проблемы.
Как вы понимаете, вы делаете это правильно, и нет другого простого способа. – sanbhat