Очистка Headerov в QSqlQueryModel + QTableView |
Здравствуйте, гость ( Вход | Регистрация )
Очистка Headerov в QSqlQueryModel + QTableView |
defnull |
18.6.2009, 1:54
Сообщение
#1
|
Студент Группа: Участник Сообщений: 49 Регистрация: 1.5.2008 Пользователь №: 165 Спасибо сказали: 0 раз(а) Репутация: 1 |
Из базы данных загражую данные в QSqlQueryModel и они отображаются в QTableView. Проблема в том, что за один раз могут прийти данные а на следующий раз уже нет.. очистка строк и колонок приводит к тому что хедеры остаются. Встал вопрос как очистить модель полностью? вместе с хедерами?
Долго промучившись дошёл до следующего:
Но даже при таком раскладе удаляется не всё а только горизонтальные хедеры=((( Подскажите пожалуйста как это реализовать? неужели у модели нет метода очистки её полностью?? Сообщение отредактировал defnull - 18.6.2009, 1:55 |
|
|
Litkevich Yuriy |
18.6.2009, 2:20
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Гость_он же.._* |
18.6.2009, 14:32
Сообщение
#3
|
Гости |
Напутал я.. объясню по другому.. в базе данных есть сервера и запчасти. Если мы делаем просмотр запчасти то в QTableView ничего отображаться не должно(по идее даже хедеры), а вот если просматриваем сервер, то в этом QTableView надо поместить запчасти. (заполнить модель, тоесть выполняется model->exec()). Так вот фишка в том, что представление изначально настроена на модель.
Каждый раз я вначале очищаю модель, потом узнаю является ли загружаемая деталь сервером или обычной запчастью и только потом выполняю запрос к модели. И у модели хедеры обновляются если я выполняю запрос. Мне нужно чтобы хедеры очищались независимо от того буду я загружать данные или нет |
|
|
Litkevich Yuriy |
18.6.2009, 15:30
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
всё равно ничего не понял.
Предварительно объявил модель и назначил её представлению:
В нужном месте устанавливаешь в модель запрос:
когда нужно очистить модель, только для того, чтобы пользователь увидел пустое представление, вместо последней строки предыдущего фрагмента кода пишешь:
|
|
|
Гость_он же.._* |
18.6.2009, 16:12
Сообщение
#5
|
Гости |
Всё так и делаю) Тоесть чтобы очистить хедеры надо передать пустой запрос к БД... странно это как-то, недостаток выбранной модели?
Спасибо поробую! |
|
|
Litkevich Yuriy |
18.6.2009, 16:19
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Тоесть чтобы очистить хедеры надо передать пустой запрос к БД... странно это как-то, недостаток выбранной модели? конкретная модель здесь не причём. При установке нового источника данных (для QSqlQueryModel это сам SQL-запрос), модель шлёт представлениям сигнал "Сброс", чтобы они очистились и зпросили у модели новые данные.Напрактике нет нужды показывать пользователю пустое представление. |
|
|
Текстовая версия | Сейчас: 30.11.2024, 5:35 |