Mapping auf ComboBox mit QSortFilterProxyModel
Verfasst: 15. November 2013 23:27
Hallo,
folgende Ausgangssituation: ich mappe eine Spalte aus einem QSqlRelationalTableModel auf eine ComboBox. Im wesentlichen bin ich wie im SQL Widget Mapper Example beschrieben, vorgegangen:
Funktioniert prima in Zusammenspiel mit QTableView, welches ebenfalls mit m_Model verbunden ist.
Jetzt habe ich als Model für QTableView ein QSortFilterProxyModel verwendet. Das Mapping auf QTextEdit funktioniert damit genauso, aber die ComboBox macht Probleme:
Wenn ich nun in der Tabelle eine Zeile auswähle, wir der richtige Wert in der ComboBox angezeigt. Wenn ich die ComboBox aufklappe, ist auch alles OK. Es werden wie erwartet, alle Einträge aus dem relationModel angezeigt. Wenn ich jedoch einen anderen Eintrag wähle, dann wird dieser in der ComboBox zwar angezeigt, jedoch nicht in der Tabelle geändert.
Was läuft hier falsch? Für Hinweise bin ich dankbar!
Viele Grüße,
Wowbagger
folgende Ausgangssituation: ich mappe eine Spalte aus einem QSqlRelationalTableModel auf eine ComboBox. Im wesentlichen bin ich wie im SQL Widget Mapper Example beschrieben, vorgegangen:
Code: Alles auswählen
QSqlRelationalTableModel *m_Model;
mapper = new QDataWidgetMapper(this);
mapper->setModel(m_Model);
QSqlTableModel *relModel = m_Model->relationModel(typeIndex);
projektComboBox->setModel(relModel);
projektComboBox->setModelColumn(relModel->fieldIndex("projectID");
mapper->addMapping(projektComboBox, typeIndex);Jetzt habe ich als Model für QTableView ein QSortFilterProxyModel verwendet. Das Mapping auf QTextEdit funktioniert damit genauso, aber die ComboBox macht Probleme:
Code: Alles auswählen
QSqlRelationalTableModel *m_Model;
QSortFilterProxyModel *m_ProxyModel;
m_ProxyModel->setSourceModel(m_Model);
mapper = new QDataWidgetMapper(this);
mapper->setModel(m_ProxyModel);
QSqlTableModel *relModel = m_Model->relationModel(typeIndex);
projektComboBox->setModel(relModel);
projektComboBox->setModelColumn(relModel->fieldIndex("projectID");
mapper->addMapping(projektComboBox, typeIndex);Was läuft hier falsch? Für Hinweise bin ich dankbar!
Viele Grüße,
Wowbagger