изменения данных в QTableView и установка setWindowModified(true); |
Здравствуйте, гость ( Вход | Регистрация )
изменения данных в QTableView и установка setWindowModified(true); |
rrmini |
3.2.2010, 11:28
Сообщение
#1
|
Студент Группа: Участник Сообщений: 41 Регистрация: 23.11.2009 Пользователь №: 1251 Спасибо сказали: 0 раз(а) Репутация: 0 |
Имеется связка model - view:
CODE QSqlTableModel *model = new QSqlTableModel(0); model->setEditStrategy(QSqlTableModel::OnManualSubmit); ..... QTableView *view = new QTableView(0); view-> setModel(model); view-> setWindowTitle(trUtf8("Таблица[*]")); view-> setWindowModified(false); .... Задача: 1. При изменении пользователем данных в ячейках( одной ячейки) таблицы или при добавлении(удалении) строки установить view->setWindowModified(true); 2. После сохранения изменений if(model->submitAll()) view->setWindowModified(false); Я так понимаю при уловии задачи 1 должен генериться какой-то сигнал. который можно отловить? |
|
|
rrmini |
3.2.2010, 12:46
Сообщение
#2
|
Студент Группа: Участник Сообщений: 41 Регистрация: 23.11.2009 Пользователь №: 1251 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо, чудно работает!
Цитата только вот это не понятно, ты хочешь представление сделать окном верхнего уровня? Тогда тебе прийдётся его удалять вручную либо устанавливать атрибут Qt::WA_DeleteOnClose У меня две таблицы : 1. "Документы" : id , дата, клиент, водитель-машина; 2. "Маршруты" : id, document_id, маршрут, ед_изм(км или час), количество, сумма; В одном документе может быть несколько маршрутов. Для ввода записей в эти таблицы я делаю диалоговое окно в котором есть mapper = new QDataWidgetMapper(this); mapper->setModel(docModel); // для сязи с таблицей "Документы" и есть, описанная в начале темы таблица для ввода маршрутов. model = new QSqlRelationalTableModel; // для связи с таблицей "Маршруты" model->setFilter(QString("documentid = %1").arg(docNumber)); // отображаю маршруты только данного документа ui->tableView->setModel(model); // пользовался дизайнером для вызова диалога я создаю объект: OrderFormDialog dialog(documentModel, docNumber, this); dialog.exec(); При закрытии диалога я так понимаю объект dialog удаляется ? поправьте , если я ошибаюсь. |
|
|
Текстовая версия | Сейчас: 22.1.2025, 10:40 |