Russian Qt Forum

Qt => Базы данных => Тема начата: sinj от Июнь 02, 2009, 14:10



Название: вопрос по tableview
Отправлено: sinj от Июнь 02, 2009, 14:10
Добрый день!

Такой вот вопрос: имеется у меня tableview в который загружаются строки вот так-->
Код:
QSqlQueryModel *model=new QSqlQueryModel;
if (ui->checkBox_3->isChecked()){model->setQuery("select * from qwerty where num<>0 && loc=1");};
ui->tableView_2->setModel(model);
Однако стоит задача добавить в tableView_2 еще и строки по запросу "select * from qwerty where num<>0 && loc=2".

Как к уже существующим данным добавить еще строки? (Т.е. чтобы в таблице находились строки от первого запроса и добавились строки еще и от второго запроса.)


Название: Re: вопрос по tableview
Отправлено: Rcus от Июнь 02, 2009, 14:27
А модифицировать запрос не пробовали? (кстати интересно в какой субд работает конструкция &&)


Название: Re: вопрос по tableview
Отправлено: sinj от Июнь 03, 2009, 13:31
Реализовано все на mysql. Нужно реализовать именно этот запрос, т.к. имеется достаточно много ключей, по которым его нужно вызывать снова. Например имеется несколько флажков, в зависимости от значения которых необходимо осуществлять выборку по параметру этих флажков и добавлять результат выборки в таблицу. Если кто-нибудь сможет подсказать альтернативу, буду благодарен.


Название: Re: вопрос по tableview
Отправлено: ритт от Июнь 03, 2009, 14:13
ну, и в чём проблема?

Код
QSqlQueryModel *model=new QSqlQueryModel;
QString sSql("select * from qwerty where num<>0");
if (ui->checkBox_3->isChecked())
{
   sSql += " AND loc=1";
}
if (ui->checkBox_4->isChecked())
{
   sSql += " AND loc=2";
}
model->setQuery(sSql);
ui->tableView_2->setModel(model);
 


Название: Re: вопрос по tableview
Отправлено: sinj от Июнь 03, 2009, 16:44
Спасибо! Как вариант. Но все-таки вопрос остается: возможно ли в tableview просто добавлять строки из совершенно другого запроса? Мне в перспективе так и придется сделать. Можно ли в модель записать несколько запросов с одинаковой схемой данных на вывод, да и вообще, возможно ли как-то объединить модели для вывода? Может не очень корректно, просто хочу разобраться.


Название: Re: вопрос по tableview
Отправлено: ритт от Июнь 03, 2009, 17:19
ну, дык, поищи составные модели - прокси, объединяющая несколько моделей-источников - в своё время стречал как минимум две различные реализации.
только в данном случае не вижу нужды в велосипедах...


Название: Re: вопрос по tableview
Отправлено: sinj от Июнь 05, 2009, 22:49
нашел. кому интересно - вот ссылка - http://ais.khstu.ru/Reference/Qt/model-view-proxy-models.html (http://ais.khstu.ru/Reference/Qt/model-view-proxy-models.html)


Название: Re: вопрос по tableview
Отправлено: lit-uriy от Июнь 05, 2009, 23:12
Стало быть наш перевод (http://doc.crossplatform.ru/qt/4.5.0/model-view-proxy-models.html) уже расползается по интернету и без асяких заметок о том кто переводил и куда посылать замечания.