![]() |
|
|
![]()
|
|
| Belirafor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 15.8.2009 Репутация: нет Всего: нет |
Привет, всем, участникам форума. Пишу курсовую работу. Вот возникла такая необходимость, как "активный поиск". Суть такова. При вводе строки в поле lEdt_Find в tblWgt_Employee отбирались данные, которые соответствуют этой строке без нажатия кнопки "Поиск".
Подскажите, пожалуйста как правильно, используя QSortFilterProxyModel выполнить горячий отбор. Я нашел кучу примеров с QStringListModel. А вот для TableWidget ничего. Заранее спасибо. Вот код:
|
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Хотя, гораздо более правильно будет использовать model/view + proxyFilterModel Это сообщение отредактировал(а) borisbn - 12.8.2011, 12:50 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| Belirafor |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 15.8.2009 Репутация: нет Всего: нет |
Нет, я хочу использовать QSortFilterProxyModel, чтобы не нагружать сервер лишними запросами из БД. Тем более, что fncTblWgtEmployee_Refresh используется для вывода информации в виджет tblwgt_Employee.
Это сообщение отредактировал(а) Belirafor - 12.8.2011, 13:03 |
||||
|
|||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
В этом случае тебе нужно использовать не QTableWidget, а QTableView.
Ещё нужно наследоваться от QAbstractTableModel и создать QSortFilterProxyModel. см. примеры Basic Sort/Filter Model и Custom Sort/Filter Model -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| Belirafor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 15.8.2009 Репутация: нет Всего: нет |
Получается, что в tableWidget этого никак не проделать?
|
|||
|
||||
| Greeneyed |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 20.4.2006 Репутация: нет Всего: нет |
Для работы с моделью используют QTableView. И это есть добро. Этот виджет избавит тебя от ручного запихивания данных в таблицу. Назначаешь для QSortFilterProxyModel источником свою модель данных, напимер QSqlQueryModel, и поле фильтрации. Для QTableView назначаешь моделью QSortFilterProxyModel . Если тебе надо фильтровать по нескольким полям, то нужно наследоваться от QSortFilterProxyModel и писать свой фильтр или использовать подряд несколько QSortFilterProxyModel. Т.е. QSortFilterProxyModel1 - источник для QSortFilterProxyModel2, QSortFilterProxyModel2 - источник для QSortFilterProxyModel3 и т.д.
|
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |