Russian Qt Forum

Qt => Базы данных => Тема начата: rensfo от Май 25, 2013, 10:15



Название: QSqlRelationTableModel + QTableView Добавление новой записи
Отправлено: rensfo от Май 25, 2013, 10:15
Всем доброго времени суток!
У меня возникла следующая проблема: когда делаю связку QSqlRelationTableModel и QTableView при вставке новой записи в QTableView она появляется, когда вношу в неё значения, то в низпадающих листах отображаются правильные значения, но когда выбираю эти значения отображаются первичные ключи из связных таблиц, данные записываются в БД нормально. При редактировании записей все хорошо.
Код:
model = new QSqlRelationalTableModel(this, db);
model->setTable(db.driver()->escapeIdentifier("Purchase", QSqlDriver::TableName));
model->setJoinMode(QSqlRelationalTableModel::LeftJoin);
model->setRelation(2, QSqlRelation("Good", "idGood", "Code"));
...
model->select();
model->setEditStrategy(QSqlTableModel::OnFieldChange);

tv = new QTableView();
tv->setModel(model);
tv->setItemDelegate(new QSqlRelationalDelegate(model));
...
//Всавка строки
int row = model->rowCount();
if(!model->insertRow(row))
{
    qDebug() << "insert row error: " << model->query().lastError();
}

Подскажите в какую сторону "копать".
Заранее благодарен за помощь.