Seite 1 von 1

QSqlRelatonalTableModel und keine QTableView

Verfasst: 2. September 2008 18:30
von petric
Hallo,

man kann z.B. QSqlRelationalModel mit Hilfe von QDataWidgetMapper dazu verwenden um Datenbankspalten an (nicht Tabellen-)Widgets anzukoppeln. Mit den meisten Feldern geht das auch, aber ...
... ich habe Felder imt einem Indexwert, der in eine andere Tabelle zeigt.
Mit QSqlRelation kann man (so wie ich das verstanden habe) ein Mapping einer Nummer zu einem String in einer zweiten Tabelle hinstellen.

Mein Code (Datenbankverbindung steht schon):

Code: Alles auswählen

QSqlRelationalTableModel model (this);
QDataWidgetMapper mapper (this);
QLineEdit *line = new QLineEdit;

model.setTable ("<Tabelle>");
model.select ();
mapper.setModel (&model);
model.setRelation (<Spaltenindex>, QSqlRelation ("<Maptabelle>", "<Mapspalte>", "<Stringspalte>"));
mapper.addMapping (line, <Spaltenindex>);
mapper.setCurrentIndex (0);
Ich bekomme aber immer den Zahlenwert statt des Strings. Da mache ich bestimmt was falsch, aber was ?

Verfasst: 2. September 2008 22:07
von petric
Ich habs inzwischen raus. Der Aufruf von model.select () muss in die vorletzte Zeile.