Hallo,
ich habe ein TableView eingerichtet, das auf eine SQL-Tabelle über ein SqlModel zugreift. Mittlerweile kann ich auch herrlich Records in die Tabelle einfügen... Aber um Records oder Rows zu löschen benötige ich den Wert des derzeit selektierten Row. Ich habe (nach einigen Stunden Handbuchlektüre) absolut keine Ahnung, wie ich diesen Wert ermitteln kann.
Weiß jemand Rat?
Vielen Dank
Zappo
QTableView, QSqlModel, row löschen
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Erstmal Danke für Deine Antwort 
Hm, wenn ich das versuche, bekomme ich von make die folgende Meldung:
/usr/include/qt4/QtGui/qtableview.h:131: error: `virtual QModelIndexList QTableView::selectedIndexes() const' is protected
Das würde heißen, ich müsste eine eigenbe Klasse ableiten, um den Wert von row zu ermitteln? Das wäre bitter...
Zappo
Hm, wenn ich das versuche, bekomme ich von make die folgende Meldung:
/usr/include/qt4/QtGui/qtableview.h:131: error: `virtual QModelIndexList QTableView::selectedIndexes() const' is protected
Das würde heißen, ich müsste eine eigenbe Klasse ableiten, um den Wert von row zu ermitteln? Das wäre bitter...
Zappo
[gelöst] QTableView, QSqlModel, row löschen
Erstmal vielen Dank für Deine Antwort. So einfach, wie durch die Formulierung von Dir dargestellt, ist es allerdings nicht...
Ich habe bei der Initialisierung des Dialogs zusätzlich die folgenden Zeilen eingefügt, um ein QItemSelectionModel für den Löschvorgang zu erhalten:
Der Löschvorgang selber sieht dann wie folgt aus:
Das geht vielleicht eleganter, es funktioniert aber.
Zappo
Ich habe bei der Initialisierung des Dialogs zusätzlich die folgenden Zeilen eingefügt, um ein QItemSelectionModel für den Löschvorgang zu erhalten:
Code: Alles auswählen
selectionModel = new QItemSelectionModel(model);
selectionModel = tableView->selectionModel();Code: Alles auswählen
if (!model->removeRow(selectionModel->selectedRows(1).at(0).row()))
qDebug() << model->lastError();
if (!model->submit())
qDebug() << model->lastError();Zappo