Панель фильтров для TableView, Концепция. Как правильно организовать панель фильтров? |
Здравствуйте, гость ( Вход | Регистрация )
Панель фильтров для TableView, Концепция. Как правильно организовать панель фильтров? |
mishabard |
22.6.2011, 18:46
Сообщение
#1
|
Студент Группа: Участник Сообщений: 31 Регистрация: 13.6.2011 Из: Киев Пользователь №: 2741 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте! В QT недавно. Вопрос по концепции: Подскажите пожалуйста, или поделитесь своим опытом,
как лучше организовать форму, на которой TableView с очень большим количеством колонок, Сверху должна появиться панель фильтров по каждому из полей таблицы. Как это лучше организовать? Что почитать? Только если можно по конкретней))) а то я уже начитался, голова кругом идет о полученой информации((( Может есть какой-то пример? Или концепция. Я для себя пока придумал следующую: 1. На форме сверху создаю виджет, на котором размещаю Поля ввода, комбобоксы, флажки (для булевских полей) и .т.п. ЗАполняю их отдельными запросами из таблицы. 2. Ниже вставляю TableView. и формирую селект для него относительно выбранных данных на панели сверху. Я уже так раньше делал на Делфи. Работать будет железно. Но может в QT есть возможность организовать фильтрацию проще. например как в Экселе, или прикрутить поля фильтров к заголовкам полей таблицы или как Делфовском TRxDBGrid - там это делается по умолчанию. я понимаю что здесь такого может не быть. Но можете хотя бы концепцию подсказать. Куда стремиться?!!! Спасибо |
|
|
DIMEDROLL |
22.6.2011, 21:04
Сообщение
#2
|
Участник Группа: Участник Сообщений: 165 Регистрация: 28.9.2008 Из: Киев Пользователь №: 304 Спасибо сказали: 23 раз(а) Репутация: 0 |
можно вставить экселевскую таблицу на форму Qt, см. QAxWidget
Цитата Сверху должна появиться панель фильтров по каждому из полей таблицы. это не понятно, что значит фильтров? |
|
|
mishabard |
22.6.2011, 21:53
Сообщение
#3
|
Студент Группа: Участник Сообщений: 31 Регистрация: 13.6.2011 Из: Киев Пользователь №: 2741 Спасибо сказали: 0 раз(а) Репутация: 0 |
Это значит, что, например, в TableView в прямоугольнике (заголовке колонки) появиться комбобокс с текстом или поле для ввода даты и времени для колонок с датами, если болевое поле в таблице, то флажок и .т.п. И в зависимости от того, что выбрано в комбобоксе для тек. колонки и какая выбрана дата, для колонки с датами и .т. д. будет формироваться запрос для модели TableView.
Т.е. как сделать отдельно панель фильтров от таблицы представления я знаю и все знают, а вот создать класс на основе QTableView в котором в заголовках автоматически будут появляться виджеты для фильтрации текущей колонки (поле ввода, комбобокс, флаг и т.п. в зависимости от типа поля в колонке представления) я не могу пока понять. Подскажите в каком напрвлении и что почитать. Может кто-то уже делал подобное? |
|
|
DIMEDROLL |
22.6.2011, 23:51
Сообщение
#4
|
Участник Группа: Участник Сообщений: 165 Регистрация: 28.9.2008 Из: Киев Пользователь №: 304 Спасибо сказали: 23 раз(а) Репутация: 0 |
примерно понятно, но лучше бы прикрепить скриншот или видео, где это наглядно видно
предварительно: нужно либо через делегаты делать либо наследоваться от QTableView и добавлять нужные контролы Сообщение отредактировал DIMEDROLL - 22.6.2011, 23:57 |
|
|
Litkevich Yuriy |
23.6.2011, 10:11
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
mishabard |
23.6.2011, 20:59
Сообщение
#6
|
Студент Группа: Участник Сообщений: 31 Регистрация: 13.6.2011 Из: Киев Пользователь №: 2741 Спасибо сказали: 0 раз(а) Репутация: 0 |
примерно понятно, но лучше бы прикрепить скриншот или видео, где это наглядно видно предварительно: нужно либо через делегаты делать либо наследоваться от QTableView и добавлять нужные контролы Сейчас все работает в экселе. и выглядит следующим образом. Во сложеном файле. Можно ли сделать что-то подобное, на основе класса QTableView. Может подскажите вкратце как встроить виджет комбобокс в заголовок TableView. Может это уже раелизовано и нет необходимости изобретать велосипед)))) |
|
|
DIMEDROLL |
23.6.2011, 21:24
Сообщение
#7
|
Участник Группа: Участник Сообщений: 165 Регистрация: 28.9.2008 Из: Киев Пользователь №: 304 Спасибо сказали: 23 раз(а) Репутация: 0 |
в примерах Qt есть пример встраивания спинбокса в таблицу, нужно использовать похожий подход
|
|
|
mishabard |
24.6.2011, 12:45
Сообщение
#8
|
Студент Группа: Участник Сообщений: 31 Регистрация: 13.6.2011 Из: Киев Пользователь №: 2741 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
DIMEDROLL |
24.6.2011, 13:50
Сообщение
#9
|
Участник Группа: Участник Сообщений: 165 Регистрация: 28.9.2008 Из: Киев Пользователь №: 304 Спасибо сказали: 23 раз(а) Репутация: 0 |
еще как вариант поискать похожий виджет на сайтах:
http://qt-apps.org/ http://sourceforge.net/ http://code.google.com/ |
|
|
Litkevich Yuriy |
24.6.2011, 16:31
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 25.4.2024, 20:28 |