Russian Qt Forum

Qt => Базы данных => Тема начата: registrationfedser87 от Июль 15, 2008, 13:23



Название: Проблема с QSortFilterProxyModel
Отправлено: registrationfedser87 от Июль 15, 2008, 13:23
имеется QSqlTableModel-она используется у меня во многих вьюшках. Насколько я знаю чтобы работать с моделью и при этом чтобы набор данных в модели не менялся (при выборке данных например) используется QSortFilterProxyModel. У меня вопрос- как мне сделать простую фильтрацию (id>20),чтобы при этом набор данных в исходной модели не поменялся?


Название: Re: Проблема с QSortFilterProxyModel
Отправлено: Dodge от Июль 15, 2008, 13:35
про выборку читайте асистент.

Если это бд, можно отказатся от использования прокси модели.

Код:
QSqlQueryModel myQueryModel;
myQueryModel.setQuery( "SELECT * FROM my_table WHERE id > 0;" );

или

Код:
QSqlTableModel myTableModel;
myTableModel.setTable( "my_table" );
myTableModel.setFilter( "id > 0" );
myTableModel.select();


Название: Re: Проблема с QSortFilterProxyModel
Отправлено: registrationfedser87 от Июль 15, 2008, 13:51
Меня такой вариант не устраивает вот почему: в обоих приведённых вами случаях набор данных в модели поменяется-и в других представлениях (например QTableView) будет отображатся по новому(с учётом новой выборки)-а я хочу чтобы бы всё было синхронизированно и шло от одной модели


Название: Re: Проблема с QSortFilterProxyModel
Отправлено: Dodge от Июль 15, 2008, 14:43
ммм... если реч идет о выборки данных, параметры которой задает пользователь, то я могу прикрепить пример реализации такой выборки на базе прокси модели...


Название: Re: Проблема с QSortFilterProxyModel
Отправлено: registrationfedser87 от Июль 15, 2008, 14:47
Было бы чудно посмотреть! Мне сложные условия выборки не нужны-мне нужно что-то похожее на "id>10"


Название: Re: Проблема с QSortFilterProxyModel
Отправлено: Dodge от Июль 15, 2008, 15:02
Вот как это выглядит:
(http://uoscripter.narod.ru/screenshoot5.png) (http://uoscripter.narod.ru/screenshoot5.png)

архив с исходниками, прокси модель + виджет фильтр (http://uoscripter.narod.ru/src.zip)

З.Ы. некритиковать, код на нобелевскую премию не претендует =)


Название: Re: Проблема с QSortFilterProxyModel
Отправлено: ритт от Июль 15, 2008, 15:04
и разве это - проблема?
нежелание читать документацию - проблема


Название: Re: Проблема с QSortFilterProxyModel
Отправлено: registrationfedser87 от Июль 15, 2008, 15:14
и разве это - проблема?
нежелание читать документацию - проблема
Я конечно прежде чем задавать вопрос всегда читаю документацию-раз уж я задаю вопрос-значит я в документации не нашёл ответа-не покажешь в какую сторону смотреть?


Название: Re: Проблема с QSortFilterProxyModel
Отправлено: Alex03 от Июль 16, 2008, 07:29
Я конечно прежде чем задавать вопрос всегда читаю документацию-раз уж я задаю вопрос-значит я в документации не нашёл ответа-не покажешь в какую сторону смотреть?
QSortFilterProxyModel::filterAcceptsRow()


Название: Re: Проблема с QSortFilterProxyModel
Отправлено: registrationfedser87 от Июль 16, 2008, 07:36
Спасибо всем откликнувшимся-всё получилось.