Seite 1 von 1

Tabelle nach mehreren Kriterien/Spalten filtern->Problem

Verfasst: 15. Januar 2009 11:30
von DarkSchwabe
hallo,

ich habe ein Problem mit meiner Struktur bei welchem ich gerade nicht weiterkomme.

Es werden Daten in ein "QStandardItemModel" geladen.
Weiter sieht das dann so aus:

QStandardItemModel --> QSortFilterProxyModel --> QTableView

Die Tabelle:
TYPE | Concept_Name | Content

Hiermit kann ich nun ganz fein nach Schlüsselwörtern filtern/suchen.
Nun würde ich aber auch gerne gleichzeitig alle Zeilen ausblenden welche vom Typ "XY" sind. Aber wie mach ich das am besten?

Lösungsgedanken:
----------------------

1. einen weiteren QSortFilterProxyModel zwischenschalten?
Ist nicht soo schön und ich frag mich ob das dann nicht zu langsam wird.

2. ich benutze bei der Suche reguläre Ausdrücke
Kann ich das damit lösen? Ich komme auf keinen regulären Ausdruck der dann "Felder übergreifend" die Zeile validiert.

3. Ich lösche die nicht zutreffenden Zeilen im QSortFilterProxyModel. Aber wie kann ich das dann wieder in den Ursprungszustand zurückversetzen wenn ich wieder alle Typen sehen will?

4. Kann ich mit QSortFilterProxyModel mehrere Filter gleichzeitig anwenden? Also zum Beispiel "Content = 'Baum'" und "Type='Natur'" oder so? Das wäre ja am besten.

Ich hoff man versteht was mein Problem ist.
Einen Titel dafür zu finden ist gar nicht einfach.
Gruß

Verfasst: 15. Januar 2009 20:02
von upsala
QSortfilterProxyModel überladen, es gibt da ein paar nette protected Methoden die sich ideall dafür eignen.

Verfasst: 16. Januar 2009 12:24
von DarkSchwabe
hmm.. werde mir das mal bei Zeiten genauer anschauen.
Habe mich gestern abend noch mit meiner Möglichkeit 1 beschäftigt und einen weiteren Filter dazwischen gebaut. Funktioniert (gefühlt) genauso schnell. Ist also irstmal eine Lösung die ich recht schnell implementieren konnte ohne große Klimmzüge zu machen ;-)
Wenn ich Zeit habe versuch ich das mit dem Überladen.

Danke
Gruß