SWT, Table -> Erste Zeile als Filter?

Layna

Erfahrenes Mitglied
Hallo :).
Vermutlich fehlt mir wie üblich nur das richtige Stichwort.. ist ja meistens so.
Jedenfalls habe ich eine SWT-Oberfläche, in dieser ist ein JTableViewer untergebracht der eben Daten anzeigt. Das ganze wird per Databinding gefüllt.
Jetzt möchte in, um die Tabelle filtern zu können, die erste Zeile der Tabelle als Eingabefeld haben -> was da eingegeben wird dient eben als Filter.
Hat jemand eine Idee wie ich da anfangen müsste? Mir fehlt leider sogar ein Ansatz wie ich die erste Spalte von den anderen Unterschiedlich machen kann...

Layna
 
Hi,

ich habe mal etwas ähnliches umgesetzt.
Dabei habe ich allerdings ein DefaultMutableTableModel (oder so ähnlich) benutzt und habe meine Daten an der ersten Stelle eben um meine eigene Zeile ergänzt.
 
hI Layna;
ich habe auch mal sowas gebraucht jedoch in Swing. Mein Ansatz war ähnlich wie der von Manuel, jedoch, glaube ich mich zu erinnern, dass ich ein TableModel zwischen Tabel und ursprüngliches TableModel gelegt hatte.
Ich denke, dass SWT ebenfalls TableModels verwendet und da ähnlich wie Swing ist.
sähe schematisch so aus:
Code:
-----------------------------------
Table
-----------------------------------
          |
          |
-----------------------------------
FilterTableModel    
-----------------------------------
          |
          |
-----------------------------------
Eigentliches TableModel
-----------------------------------
hierbei wraped das FilterTableModel das eigentliche TableModel und bietet selbst eine Zeile für filter an. Es bietet außerdem eine Art schittstelle, um den Filter zu implementieren, ganz ähnlich wie die accept-Methode in einem FileFilter. In Deinem Fall könnte man vielleicht auch hergehen eine Where-Clausel für die entsprechende DB-Abfrage dort anzubauen.
Vorteil wär, Du könntest es auch für diverse andere Tabellen-Modell verwenden. Nachteil ist, die erste Zeile würde aller Voraussicht nach wie die Datenzeilen mitgescrollt.

vielleicht hilft ja der Ansatz

Takidoso

PS: Manuel, ich finde Deine Sprüche echt super, Kompliment :-D
 
Zuletzt bearbeitet:
hi,
mir ist noch ein weiterer theoretischer Ansatz eingefallen. (In der Hoffnung mich recht zu erinnern)
In Swing kann man die Standard-Tabellenspaltenköpfe AFAIK mit beliebigen Komponenten austauschen. Man könnte also somit auch panels mit gewöhnlichen Label und ein darunterbefindlichen Textfeld versehen.
Wenn so etwas auch in SWT möglich ist, solltest Du eigetnlich gewonnen haben.
 
Zurück