Название: смена таблицы в модели и не отображения данных в предсталении Отправлено: nono от Апрель 26, 2011, 22:08 У меня возникла следующая проблема:
Я создал таблицу QTableView и установил в ней модель QSqlRalationalTableModel, после при выборе таблицы я устанавливаю в модель определенную таблицу (при чем таблица в модели меняется т. е. одна модель работает с разными таблицами) приведу небольшой пример: QTableView *table = new QtableView(this); QSqlRelationalTableModel *model = QsqlRelationalTableModel(this); table->setModel(model); … определенный код … в зависимости от условия устанавливаю таблицу switch (value) { case a: model->setTable(«table-a»); break; case b: model->setTable(«table-c»); break; … } Вот теперь в таблице ничего не отобразиться! Подскажите пожалуйста чего не хватает??? Название: Re: смена таблицы в модели и не отображения данных в предсталении Отправлено: chu от Апрель 26, 2011, 23:18 model->select;
Название: Re: смена таблицы в модели и не отображения данных в предсталении Отправлено: nono от Апрель 27, 2011, 00:16 chu, так пробовал уже - нито!!!
Мне кажется там что то с самим представлением потому что если как надо установить таблицу в модель до того, как саму модель установить в представление все работает.....тока вот наоборот не получается.... после установки модели в представление, устанавливать таблицы...может после установки таблицы надо как нибудь представление обновить....только как??? Название: Re: смена таблицы в модели и не отображения данных в предсталении Отправлено: chu от Апрель 27, 2011, 01:55 chu, так пробовал уже - нито!!! Создай 2 модели, а в switch запиши table->setModel(model1 или model2) Мне кажется там что то с самим представлением потому что если как надо установить таблицу в модель до того, как саму модель установить в представление все работает.....тока вот наоборот не получается.... после установки модели в представление, устанавливать таблицы...может после установки таблицы надо как нибудь представление обновить....только как??? Название: Re: смена таблицы в модели и не отображения данных в предсталении Отправлено: nono от Апрель 27, 2011, 09:48 Создай 2 модели, а в switch запиши table->setModel(model1 или model2) [/quote] Так я уже делал...только мне прийдется создавать не две модели а шесть...(я просто сокращенный пример привел) причем надо это дело динамически регулировать, типа что-то вроде: switch .. .. delete table->model(); table->setModel(model5); .. Такой вариант работает нормально..просто я хотел бы оптимизировать....ну считай постоянно либо создавать и удалять модели....либо создать все шесть моделей и выбирать потом нужную.....а так создал и установил одну модель....и меняешь в ней таблицу Название: Re: смена таблицы в модели и не отображения данных в предсталении Отправлено: nono от Апрель 27, 2011, 10:45 Есть вариант после switch записать следующую конструкцию:
table->setModel(0); model->select(); table->setModel(model); Но все таки.....вызывать постоянно метод setModel не совсем логически правильно(мне кажется). Есть ли какая нибудь функция которая перезагружала модель в представлении??? |