Многостолбцовый сетчатый фильтр в SmartGWT - PullRequest
1 голос
/ 19 октября 2011

Рассмотрим ListGrid с двумя столбцами: Имя и Фамилия.

Что если я хочу выполнить поиск по обоим столбцам одновременно? Например. дай мне записи, для которых Имя или Фамилия содержит ' Боб ' (Заполняется с использованием одного поля поиска TextItem.)

Должен вернуться:

Ann, Bobbings
Bob, Doe
Chris, McBob

Возможно ли это с использованием только Criteria или AdvancedCriteria? (Например, grid.setCriteria (mySearchCriteria);)

Или мне нужно настроить setCriteria в ListGrid или filterData в DataSource?

1 Ответ

1 голос
/ 24 октября 2011

Я сам использовал этот вид реализации.

textItem.addChangedHandler(new ChangedHandler() {

  @Override
  public void onChanged(ChangedEvent event) {
    String input = (String) event.getValue();
    AdvancedCriteria criteria = new AdvancedCriteria(OperatorId.OR, new Criterion[]{
      // ICONTAINS = ignores case
      new Criterion("firstName", OperatorId.ICONTAINS, input),
      new Criterion("lastName", OperatorId.ICONTAINS, input)
    });

    listGrid.filterData(criteria);
  }
});
...