QSqlRelationalTableModel *compositionsRelation = new QSqlRelationalTableModel;
compositionsRelation->setTable("bd");
compositionsRelation->setEditStrategy(QSqlTableModel::OnRowChange);
compositionsRelation->setRelation(0, QSqlRelation("client", "Kod_client", "Surname"));
compositionsRelation->setRelation(1, QSqlRelation("film", "Kod_film", "Film"));
compositionsRelation->setRelation(2, QSqlRelation("seller", "Kod_seller", "Surname"));
compositionsRelation->setRelation(5, QSqlRelation("c_document", "Kod_document", "Document"));
compositionsRelation->select();
compositionsRelation->setHeaderData(0, Qt::Horizontal, QObject::tr("Фамилия клиента"));
compositionsRelation->setHeaderData(1, Qt::Horizontal, QObject::tr("Название фильма"));
compositionsRelation->setHeaderData(2, Qt::Horizontal, QObject::tr("Фамилия продавца"));
compositionsRelation->setHeaderData(3, Qt::Horizontal, QObject::tr("Дата выдачи"));
compositionsRelation->setHeaderData(4, Qt::Horizontal, QObject::tr("Дата возврата"));
compositionsRelation->setHeaderData(5, Qt::Horizontal, QObject::tr("Документ залога"));
compositionsRelation->setHeaderData(6, Qt::Horizontal, QObject::tr("Возврат"));
QTableView *view = new QTableView(this);
view->setModel(compositionsRelation);
view->setWindowTitle(QObject::tr("Видео прокат"));
view->setGeometry(190,45,691,351);
view->setItemDelegate(new QSqlRelationalDelegate(view));
view->show();
Помогите, на изменение значения в любой ячейки таблицы выдает ошибку "QSqlQuery::value: not positioned on a valid record".
Подключаю базу создаю QSqlRelationalTableModel. Потом создаю "QTableView *view".
Пытаюсь засунуть делегат "view->setItemDelegate(new QSqlRelationalDelegate(view));" ,чтобы можно было нормально редактировать таблицу, на что он мне пишет что "QSqlRelationalDelegate is not a type name".
Объясните пожалуйста что не так? уже все кипит, и объясните что такое делегат и с чем его едят.