J'essaie d'appliquer simultanément deux types de filtrage différents à un NatTable. Chaque filtre fonctionne correctement, mais ils ne fonctionnent pas comme je le souhaitais lorsqu'ils sont combinés.NatTable Filtering
- La première chose que je fais est de faire un appel à la FilterList.setMatcher() pour réduire le nombre de lignes en fonction de critères externes
- La prochaine chose que je fais est d'utiliser la FilterRowHeaderComposite pour appliquer un filtrage supplémentaire, mais il semble ignorer l'entrée (même si je vois l'entrée/icône dans la cellule d'en-tête de filtre) et aucun filtre est appliqué
Ci-dessous quelques extraits de code de base qui montrent ce que j'ai installé ...
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);
}
Toute aide serait appréciée. Merci!