powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / QT, TableView, редактирование.
1 сообщений из 1, страница 1 из 1
QT, TableView, редактирование.
    #38972557
DoSOfRedRiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте. Добавил на форму новый QTableView, замапил на таблицу. Проблема в том, что в программе невозможно отредактировать ячейки. С другими таблицами такой проблемы не было, там редактирование сразу работало. Код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
void MethodicWorkWidget::setupMethod3Model() {
        method3Model = new ExtSqlModel(this);
        method3Model->setTable("methodworks3");
        method3Model->setEditStrategy(QSqlTableModel::OnFieldChange);

        int typeInd = method3Model->fieldIndex("typeid");
        method3Model->setRelation(typeInd, QSqlRelation("methodworks3types", "id", "Name"));
        method3Model->setFilter("teacherid="+QString::number(teacherID));//+" AND YearID="+QString::number(yearID));

        method3Model->setHeaderData(typeInd, Qt::Horizontal, tr("Вид"));
        method3Model->setHeaderData(method3Model->fieldIndex("discipline"), Qt::Horizontal, tr("Дисциплина"));
        method3Model->setHeaderData(method3Model->fieldIndex("theme"),      Qt::Horizontal, tr("Тема"));
        method3Model->setHeaderData(method3Model->fieldIndex("date"),       Qt::Horizontal, tr("Дата проведения"));
        method3Model->setHeaderData(method3Model->fieldIndex("value"),      Qt::Horizontal, tr("Балл"));

        ui.label_2->setText(QString::number(teacherID));

        method3Model->setSort(0, Qt::AscendingOrder);

        //populate and check
        if (!method3Model->select()) {
                QMessageBox::critical(NULL, tr("Ошибка обращения к базе"), tr(
                                "Произошла ошибка при выборе руководства:\n")+manageModel->lastError().text());
        }

        ui.method3View->setModel(method3Model);
        ui.method3View->hideColumn(method3Model->fieldIndex("id"));
        ui.method3View->hideColumn(method3Model->fieldIndex("teacherid"));
        ui.method3View->setItemDelegateForColumn(typeInd, new QSqlRelationalDelegate(ui.method3View));
        ui.method3View->resizeColumnsToContents();

        connect(ui.method3AddButton, SIGNAL(clicked()), this, SLOT(method3Add()));
        connect(ui.method3DelButton, SIGNAL(clicked()), this, SLOT(method3Del()));
        ui.method3DelButton->setEnabled(method3Model->rowCount()!=0);

        if(UserInfo::role() == UserInfo::Guest){
                ui.method3AddButton->setEnabled(false);
                ui.method3DelButton->setEnabled(false);
                ui.method3View->setEditTriggers(QAbstractItemView::NoEditTriggers);
        }
}

...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / QT, TableView, редактирование.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]