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
Implementierung einer Suche in Model/View-Architektur
-
philistion
- Beiträge: 22
- Registriert: 8. Februar 2010 09:37
Damit kann man doch schon suchen:
Code: Alles auswählen
QModelIndexList QAbstractItemModel::match ( const QModelIndex & start, int role, const QVariant & value, int hits = 1, Qt::MatchFlags flags = Qt::MatchFlags( Qt::MatchStartsWith | Qt::MatchWrap ) ) const
-
philistion
- Beiträge: 22
- Registriert: 8. Februar 2010 09:37