考虑一个包含两列的ListGrid:名字和姓氏。
如果我想一次搜索两个列怎么办?例如。给我一个名字或姓氏包含' bob '的记录。 (使用单个TextItem搜索字段填写。)
它应该回归:
Ann, Bobbings
Bob, Doe
Chris, McBob
仅使用Criteria或AdvancedCriteria是否可以实现? (例如grid.setCriteria(mySearchCriteria);)
或者我是否必须自定义ListGrid中的setCriteria或DataSource中的filterData?
答案 0 :(得分:1)
我自己也使用过这种实现方式。
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);
}
});