crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> заполнение модели данными из хэша
Andrewshkovskii
  опции профиля:
сообщение 1.9.2011, 11:05
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Друзья, допустим я хочу заполнить модельку для вьюхи данными.
Моделька предоставляет read-only данные - результат SQL-запроса. Но важно учитывать имена в хидерах.
Есть ли возможность без наследования QSqlQueryModel заполнить модель данными?
Суть проблемы - необходимо в клиентском софте отказать от драйверов кутешных (qodbc), использовать pyodbc, и разместить создание моделек на сервере, передавая сериализированную модель клиенту.
Вопрос возник из-за строчки в доке к функции
Цитата
QSqlQueryModel::insertColumns

By default, inserted columns are empty. To fill them with data, reimplement data() and handle any inserted column separately:

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Максим_*
сообщение 2.9.2011, 7:58
Сообщение #2





Гости








    


Цитата
QSqlQueryModel::insertColumns
By default, inserted columns are empty. To fill them with data, reimplement data() and handle any inserted column separately:

1.Как ясно из вышесказанного есть только 2 варианта : переопределить метод data() либо использовать кастомную прокси модель, где так же переопределен метод data(), т.е. наследования не избежать в любом случае, но вариант с прокси моделью, на мой взгляд, более реюзабельный.

2.Если речь сейчас идет о реализации серверной части, то см 1., если о клиентской и нужно отказаться от стандартный Qt драйверов, то во первых не уверен что нужна именно QSqlQueryModel, т.к. данные передаються от сервера уже в своем формате (насколько я понял), во вторых отказываясь от стандатных Qt БД драйверов никто не мешает написать свой драйвер, который в бэкэнде будет использовать то api, которое вам удобно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 30.12.2024, 21:14