Ich habe versucht, Header-Schichten, die für Text, aber nicht für Ganzzahlen und Datumsangaben funktioniert - also ich möchte einen benutzerdefinierten Komparator dafür erstellen.Hinzufügen von benutzerdefinierten Komparator für Integer-Sortierung in Nattable
Antwort
Zuerst ein Kommentar zu Ihrem Problem. Die Sortierung von Zahlen und Daten funktioniert in NatTable sehr gut. Tatsächlich funktioniert die Sortierung aller Comparable
Datentypen mit der DefaultComparator
, die von der DefaultSortConfiguration
angewendet wird. Damit es jedoch richtig funktioniert, müssen Sie die entsprechenden Datentypumsetzer registrieren, wie in verschiedenen NatTable-Beispielen gezeigt. Ohne den Konverter werden alle Daten in NatTable als String behandelt, was zu einer "falschen" Sortierung führt.
Zweitens zu Ihrer Frage. Sie können einen benutzerdefinierten Komparator wie folgt registrieren:
configRegistry.registerConfigAttribute(
SortConfigAttributes.SORT_COMPARATOR,
new MyCustomComparator(),
DisplayMode.NORMAL,
CUSTOM_COMPARATOR_LABEL);
So müssen Sie SortConfigAttributes.SORT_COMPARATOR
und ein entsprechendes Etikett eine Comparator
für das Konfigurationsattribut registrieren.
Wenn Sie jedoch keinen passenden Typkonverter haben, müssen Sie Strings vergleichen. Also IMHO müssen Sie eine DisplayConverter
registrieren und Sortierung funktioniert wie vorgesehen, ohne dass ein benutzerdefinierter Komparator benötigt wird.
Wo kann ich Datentyp registrieren? – jugal
Sie registrieren einen IDisplayConverter über ConfigRegistry wie die meisten Konfigurationen in NatTable. Weitere Informationen finden Sie in der Dokumentation https://www.eclipse.org/nattable/documentation.php?page=editing –
- 1. IMplementing benutzerdefinierten Komparator
- 2. Prioritätswarteschlange mit benutzerdefinierten Komparator
- 3. Python: Verwendung von benutzerdefinierten Komparator für Art in OrderedDict
- 4. Verwenden von benutzerdefinierten std :: set Komparator
- 5. Clojure: sorten durch verschachtelten Karte benutzerdefinierten Komparator
- 6. Java HashMap Sortierung mit benutzerdefinierten Lambda-Komparator
- 7. benutzerdefinierten Komparator für STL SETS innerhalb der Klasse durch Funktionszeiger
- 8. Std :: Set Operationen mit benutzerdefinierten Komparator
- 9. NoSuchMethodError für Komparator?
- 10. Verwenden von NatTable ShowRowInViewportCommand
- 11. Icons in NatTable-Zellen
- 12. Komparator für Treemap
- 13. Python: Sortiere ein Array von Wörterbüchern mit benutzerdefinierten Komparator?
- 14. C++ Vektor priority_queue von Strings mit benutzerdefinierten Zeichenfolgen Komparator
- 15. Treeview in Nattable
- 16. NatTable Filtering
- 17. Nattable Dialoge Lokalisierung
- 18. Wordpress - Hinzufügen von benutzerdefinierten Vorlagen für Beiträge
- 19. Komparator von Priorityqueue in Java
- 20. Ausnahme in Nattable Combo
- 21. NatTable-Zellenauswahlanbieter
- 22. Mit Komparator für STL eingestellt
- 23. Lambda Schlüssel Komparator für Karte
- 24. JAVA Komparator für UTF8 Buchstaben
- 25. Hinzufügen von benutzerdefinierten Anspruchsarten
- 26. Zugriff auf Nattable ViewportLayer Bildlaufleiste?
- 27. java Komparator für Arrays sortieren
- 28. Hinzufügen von benutzerdefinierten Codegenerator
- 29. NatTable Filter mit Regex
- 30. einen benutzerdefinierten Komparator mit Comparator.comparing ersetzt() - warum funktioniert das?
Können Sie ein minimales, vollständiges, überprüfbares Beispiel für den Code eingeben, mit dem Sie versucht haben, Header-Layer zu sortieren? – alex