|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.06.2009, 14:48 | #1 |
Регистрация: 02.06.2009
Сообщений: 3
|
QT: QSqlQueryModel::setData()
В QT я новичок, посему не пинайте за глупый вопрос.
В любом примере по QSqlQueryModel, там где необходимо чтобы модель позволяла редактирование, переопределены методы data и setData. Сколько примеров я не находил, во всех методах setData как правило ближе к концу следует вызов метода refresh(), который по сути производит заново полную выборку данных из базы. В итоге после любого изменения, любого поля данные из базы выбираются заново, курсор в таблице сбрасывается, что не очень приятно, да и слишком расточительно при большом наборе данных. Вопрос: как победить это явление, можно ли как-нибудь объяснить модели что обновления требует только текущая строка? Если да то как это сделать. Варианты типа: QSqlTableModel не предлагать, ибо запрос сложный и может объединять много таблиц. Вот стандартный пример из QT, прочие примеры которые я находил - подобны этому: Код:
|