Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Zugriff JTable

  1. #1
    Registrierter Benutzer
    Registriert seit
    25.07.2010
    Beiträge
    5

    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

  2. #2
    Registrierter Benutzer Avatar von John W
    Registriert seit
    29.01.2010
    Beiträge
    211
    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).

  3. #3
    Registrierter Benutzer Avatar von mwanaheri
    Registriert seit
    28.10.2003
    Ort
    Bayreuth
    Beiträge
    569

    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.
    Das Ziel ist das Ziel.

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •