java - SmartGWT 中的多列网格过滤器

标签 java gwt smartgwt

考虑一个包含两列的 ListGrid:名字和姓氏。

如果我想同时搜索两列怎么办?例如。请提供名字姓氏包含“bob”的记录。 (使用单个 TextItem 搜索字段填写。)

它应该返回:

Ann, Bobbings
Bob, Doe
Chris, McBob

仅使用 Criteria 或 AdvancedCriteria 是否可以实现这一点? (例如 grid.setCriteria(mySearchCriteria);)

或者我是否必须自定义 ListGrid 中的 setCriteria 或 DataSource 中的 filterData?

最佳答案

我自己也使用过这种实现方式。

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

关于java - SmartGWT 中的多列网格过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7822245/

相关文章:

css - GWT CellTable 样式覆盖

java - GWT 将 InlineLabels 添加到带有文本的段落或 div

java - 组合 TimeItem 和 DateItem 值

java - Tomcat/Spring 连接池 - 列出连接项

gwt - 使用 GWT 进行 UI 设计

Java float 到 long 显式转换

java - 设置新 SmartGWT 主题时出现问题 'Tahoe'

java - 如何更改 smart gwt 中 vPanel 的成员

java - Java 中的 Kotlin "by lazy"相当于什么?

java - 跨平台哈希码