Russian Qt Forum
Ноябрь 23, 2024, 17:00 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как убрать model у tableView?  (Прочитано 6055 раз)
stealth
Гость
« : Апрель 04, 2008, 18:52 »

QTableView работает с моделью, установленной setModel(),
после отключения от БД нужно сделать tableView пустым(отсоединить модель), но как вот это сделать что-то понять не могу.
Записан
Karl-Philipp
Гость
« Ответ #1 : Апрель 04, 2008, 19:15 »

QTableView работает с моделью, установленной setModel(),
после отключения от БД нужно сделать tableView пустым(отсоединить модель), но как вот это сделать что-то понять не могу.


может подойдет это:

void QSqlQueryModel::clear ()  [virtual]
Clears the model and releases any acquired resource.

« Последнее редактирование: Апрель 04, 2008, 19:19 от terlan » Записан
stealth
Гость
« Ответ #2 : Апрель 04, 2008, 19:21 »

попробовал, после  clear() остаются ячейки, удаляются только данные, не то...

а модель обычная QSqlTableModel
Записан
Karl-Philipp
Гость
« Ответ #3 : Апрель 04, 2008, 19:24 »

попробовал, после  clear() остаются ячейки, удаляются только данные, не то...

а модель обычная QSqlTableModel

а если так:

bool QSqlQueryModel::removeColumns ( int column, int count, const QModelIndex & parent = QModelIndex() )  [virtual]
Removes count columns from the model starting from position column. The parent parameter must always be an invalid QModelIndex, since the model does not support parent-child relationships.
Removing columns effectively hides them. It does not affect the underlying QSqlQuery.
Returns true if the columns were removed; otherwise returns false.
Записан
stealth
Гость
« Ответ #4 : Апрель 04, 2008, 19:33 »

насколько я понимаю эти функции будут пытаться удалить данные в модели (что мне не нужно), а нужно убрать связь между model и view
Записан
Zmeishe
Гость
« Ответ #5 : Апрель 04, 2008, 19:41 »

Отсоединение от БД вовсе не означает закрытие всех наборов данных(моделей), но если это необходимо - закрывай(close) набор данных, там должон быть метод reset(), он всем предреставлениям сигнал высылает. Строки исчезнут, колумны остануться.

>>будут пытаться удалить данные в модели (что мне не нужно), а нужно убрать связь между model и view

А в чём сакральный смысл для юзера очистить вьюху, но оставить модель? Какой он должен сделать интуитивный вывод из этого?
Записан
ритт
Гость
« Ответ #6 : Апрель 05, 2008, 13:12 »

можно установить во вьюху любую другую модель (или даже приватную шаред_нулл модель)
но в таком случае уйдёт вся информация о хидерах и т.д. - например, сохранить какие-то настройки вьюхи не сможешь
Записан
stealth
Гость
« Ответ #7 : Апрель 06, 2008, 13:13 »

спасибо, всё-таки остановился на том, что ставлю новую пустую модель
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.043 секунд. Запросов: 20.