QSqlRelationTableModel + QTableView Добавление новой записи



  • Всем доброго времени суток!
    У меня возникла следующая проблема: когда делаю связку 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();
    }@

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



  • Попробуй поменять model->seteditstrategy(QSqlTableModel::onManualSubmit);


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.