![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
mva |
![]()
Сообщение
#1
|
Участник ![]() ![]() Группа: Участник Сообщений: 104 Регистрация: 15.3.2009 Из: Киров Пользователь №: 615 Спасибо сказали: 3 раз(а) Репутация: ![]() ![]() ![]() |
Доброго времени суток всем!
Работаю с моделью QSqlTableModel/QTableView. EditStrategy == OnFieldChange. Все работает хорошо, но есть одно НО... Мне нужно, чтобы при изменении пользователем содержимого любой ячейки Grid эти изменения сразу же фиксировались на сервере без каких-либо задержек и нажатий дополнительных кнопок, просто при перемещении на другую ячейку. Класс QSqlTableModel при изменении данных в одной строке (ячейке) отсылает изменения на сервер (у меня PostgreSQL), а затем ЗАГРУЖАЕТ ТАБЛИЦУ ЦЕЛИКОМ. С большой таблицей в локальной сети это будет работать сносно, а через Интернет - думаю, что очень медленно. Поэтому хочу изменить порядок обновления данных в QSqlTableModel - так, чтобы изменения на сервер отсылались, а последующая загрузка таблицы не происходила... Зачем загружать все данные, если пользователь изменил лишь одну ячейку? Поясню на исходном коде класса QSqlTableModel.
Пытаюсь создать наследника класса QSqlTableModel и переопределить в нем функцию setData:
Проблема в том, что здесь используются какие-то недокументированные функции и переменные (например макрос Q_D и переменная d ), к которым я не знаю, как добраться. Код в таком виде не компилируется. А может быть есть более простой путь? |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 14.6.2025, 12:49 |