Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / QT, TableView, редактирование. / 1 сообщений из 1, страница 1 из 1
31.05.2015, 02:27
    #38972557
DoSOfRedRiver
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT, TableView, редактирование.
Здравствуйте. Добавил на форму новый 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
Форумы / C++ [игнор отключен] [закрыт для гостей] / QT, TableView, редактирование. / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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