我正在尝试同时对 NatTable 应用两种不同类型的过滤。每个过滤器本身都可以正常工作,但是当它们组合在一起时,它们并没有像我预期的那样工作。
- 我要做的第一件事是调用 FilterList.setMatcher() 以根据外部条件减少行数
- 我接下来要做的是使用 FilterRowHeaderComposite 应用进一步过滤,但它似乎忽略了输入(即使我在过滤器标题单元格中看到输入/图标)并且没有应用过滤器
下面是一些基本的代码片段,显示了我的设置......
public void basicSetup() {
eventList = GlazedLists.eventList(values);
TransformedList<T, T> rowObjectsGlazedList = GlazedLists.
threadSafeList(eventList);
sortedList = new SortedList<>(rowObjectsGlazedList, myComparator<>());
filterList = new FilterList<>(sortedList);
//... code ommitted
FilterRowHeaderComposite<T> filterRowHeaderLayer = new
FilterRowHeaderComposite<>(
new DefaultGlazedListsFilterStrategy<T>(bodyLayerStack.
getFilterList(), columnPropertyAccessor, configRegistry),
sortHeaderLayer, columnHeaderDataLayer.getDataProvider(),
configRegistry);
}
public void applyExternalFilter() {
getBodyLayerStack().getFilterList().setMatcher(myCriteria);
}
public void resetExternalFilter() {
getBodyLayerStack().getFilterList().setMatcher(null);
}
任何帮助,将不胜感激。谢谢!