Implementierung einer Suche in Model/View-Architektur
Verfasst: 16. August 2010 13:06
Hallo,
ich stehe vor folgendem Problem: Ich verwende ein QSqlQueryModel als Datenbankmodel zum Zugriff auf eine SQLite Datenbank. Angezeigt werden die Daten in einem QTableView.
Nun möchte ich, dass man von der GUI aus nach Datensätzen suchen kann, was ich im Moment mit einer extra dafür erstellten QSqlQuery ("SELECT * FROM ....") mache. Ich bekomme dann zwar ein Ergebnis, also z.B. einen QSqlRecord, weiß aber dann nicht wie ich weiterkomme.
Im QTableView möchte ich dass die gefundenen Elemente ausgewählt bzw. farblich markiert werden, am einfachsten also mit einem QItemSelectionModel.
Dieses verlangt aber den QModelIndex des zu selektierenden Elements.
Gibt es eine Möglichkeit von meiner extra erstellten QSqlQuery, oder aber auch von einem extra erstellten QSqlQueryModel (denn das eigentliche Model darf ich nicht anrühren, daran soll sich ja nichts ändern) auf einen QModelIndex zu kommen, den ich dem QItemSelectionModel übergeben kann?
Sollte dies nicht möglich sein, wäre ich auch für andere Ansätze, wie man mit QSqlQueryModel und QTableView einerseits die Daten behalten kann, andererseits aber nach bestimmten Einträgen suchen kann, die man dann im View hervorhebt.
Ich dachte dass mein Ansatz der einfachste ist, aber vielleicht liege ich da ja falsch.
Vielen Dank schon mal im Voraus!
mfG
ich stehe vor folgendem Problem: Ich verwende ein QSqlQueryModel als Datenbankmodel zum Zugriff auf eine SQLite Datenbank. Angezeigt werden die Daten in einem QTableView.
Nun möchte ich, dass man von der GUI aus nach Datensätzen suchen kann, was ich im Moment mit einer extra dafür erstellten QSqlQuery ("SELECT * FROM ....") mache. Ich bekomme dann zwar ein Ergebnis, also z.B. einen QSqlRecord, weiß aber dann nicht wie ich weiterkomme.
Im QTableView möchte ich dass die gefundenen Elemente ausgewählt bzw. farblich markiert werden, am einfachsten also mit einem QItemSelectionModel.
Dieses verlangt aber den QModelIndex des zu selektierenden Elements.
Gibt es eine Möglichkeit von meiner extra erstellten QSqlQuery, oder aber auch von einem extra erstellten QSqlQueryModel (denn das eigentliche Model darf ich nicht anrühren, daran soll sich ja nichts ändern) auf einen QModelIndex zu kommen, den ich dem QItemSelectionModel übergeben kann?
Sollte dies nicht möglich sein, wäre ich auch für andere Ansätze, wie man mit QSqlQueryModel und QTableView einerseits die Daten behalten kann, andererseits aber nach bestimmten Einträgen suchen kann, die man dann im View hervorhebt.
Ich dachte dass mein Ansatz der einfachste ist, aber vielleicht liege ich da ja falsch.
Vielen Dank schon mal im Voraus!
mfG