-
Zugriff JTable
Hallo zusammen
Ich möchte mit einer JTable Daten aus einer DB darstellen. Das GUI hat auch noch diverse Filterfunktionen mit denen der Benutzer die Datenmenge in der JTable einschränken kann.
Wenn nun die Daten eingeschränkt werden, soll die JTable nur noch die gefilterten Daten enthalten. Dass die JTable dies auch tut, hab ich nur so hingekriegt, dass ich die JTable jedesmal lösche und mit dem gefilterten Daten-Array neu erzeuge.
Geht das nicht auch einfacher? Gibt’s es eine Möglichkeit wie ich der bestehenden JTable das neue Daten-Array übergebe und diese dies übernimmt und anzeigt?
Wäre Dankbar um etwas Hilfe, denn irgendwie scheint das mit löschen und neu erzeugen ne "Holzhackermethode" zu sein und kein "schönes" Java-coding.
Besten Dank schon mal
nahum
-
Registrierter Benutzer
Mir fallen zwei Möglichkeiten ein:
1. getModel().setRowCount(0) aufrufen und die Daten neu hinzuzufügen.
2. Einen RowSorter erstellen (siehe Javadoc der JTable)
Ersteres dürfte einfacher sein, kostet allerdings Performance (kann man sicher auch noch anderweitig optimieren, sodass dies nicht mehr so ins Gewicht fällt).
-
Registrierter Benutzer
JTable filtern
Da die Daten ja im TableModel vorgehalten werden, denke ich, dass dort der beste Ort zum Eingreifen ist.
Eine Möglichkeit ist, das TableModel so zu erweitern, dass es eine Liste mit den Originaldaten enthält und eine Liste mit den gefilterten Daten, die dann angezeigt werden. Natürlich muss dann auch das Filtern im TableModel stattfinden.
Alternativ kannst du die vollständige Liste auch sonstwo halten und filtern und dann mit der gefilterten Liste ein neues Modell bauen. Anschließend einfach JTable.setModel(new tableModel(gefilterteListe)). Sollte auch gehen.
Stichworte
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen