|
|
|
Загрузка данных в фильтры колонок, как у cxGrid
|
|||
|---|---|---|---|
|
#18+
У UniDBGrid есть возможность в заголовки колонок вставить Combobox, т.е. получить похожий функционал, как и у фильтров cxGrid в заголовках. Например, есть колонки: дата/время, цена, ID, автор и нужно составить несколько списков (т.е. для каждой колонки сетки) из имеющихся значений того или иного столбца датасета. Можно, конечно, отдельным запросом из базы тащить все значения, но зачем, если нужны только возможные, т.е. те, которые можно выбрать из списка на клиенте? Хорошо если только три столбца, а если их 10-20-30? Да, можно пройтись один раз, но на каждой итерации датасета придётся всё равно обрабатывать каждую колонки сетки. Получается, что если нужно получить возможные значения трёх колонок, то нужно три раза пробегаться по датасету? Мало того, нужно пропускать дубликаты. На сколько я знаю, нету ведь способа получить легко и быстро, и, главное, без особых затрат на паять и процессор все значения нужно нам столбца в один список типа TStrings? Буду благодарен за идеи и/или примеры, как лучше и правильней организовать наполнение фильтров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2019, 12:49 |
|
||
|
Загрузка данных в фильтры колонок, как у cxGrid
|
|||
|---|---|---|---|
|
#18+
Есть комбобокс с режимом remotequery, т.е начинаешь набирать, он проваливается в обработчик в котором вы сами можете поменять содержимое контрола. Но вообще начинайте отучаться мыслить категориями "как было в десктопе", что значит 10-20-30 колонок, может вам еще и 100к записей в режиме fetchall в грид запихать? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2019, 14:53 |
|
||
|
Загрузка данных в фильтры колонок, как у cxGrid
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2019, 14:58 |
|
||
|
Загрузка данных в фильтры колонок, как у cxGrid
|
|||
|---|---|---|---|
|
#18+
энди, вот в том-то и дело, что я хочу так же, как и в десктопном приложении и не тянуть 100к записей: 1. Есть какие-то первоначальные параметры поиска, по которым строится кляуза where. Полей в таблице много, но по всем полям нет поиска, а только по основным. 2. В общем, выполняется выборка только нужных данных из базы. Допустим, из базы в сетку загрузилось 50-100 записей. 3. В сетке теперь можно выполнять дополнительную локальную фильтрацию этих 100 записей. И уже без обращения к серверу БД - локальная фильтрация. Я смотрю примеры и их форум, и там всё сводится к UniEdit`ам, которые встроены в заголовки столбцов, где нужно ручками вводить текст, дату и цифры, вместо того, чтобы сделать 2-4 щелчка мышкой по выпадающему checkListCombobox`у. А в checkListCombobox будут только конкретные 2-5 значений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2019, 15:07 |
|
||
|
Загрузка данных в фильтры колонок, как у cxGrid
|
|||
|---|---|---|---|
|
#18+
Три раза прочитал стартпост и так и не понял что нужно авторОказывается в библиотеке нет чего-то похожего на checkListCombobox А это что ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2019, 15:44 |
|
||
|
Загрузка данных в фильтры колонок, как у cxGrid
|
|||
|---|---|---|---|
|
#18+
Выпадающий список с чекбоксами. Как фильтры в cxGrid ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2019, 15:56 |
|
||
|
Загрузка данных в фильтры колонок, как у cxGrid
|
|||
|---|---|---|---|
|
#18+
DimaBr А это что ? это cxGrid, а я про UniGui ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2019, 15:56 |
|
||
|
Загрузка данных в фильтры колонок, как у cxGrid
|
|||
|---|---|---|---|
|
#18+
DimaBr Три раза прочитал стартпост и так и не понял что нужно Нужно в UniGUI в TUniDBGrid реализовать такие же фильтры, как и в cxGrid. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2019, 16:00 |
|
||
|
Загрузка данных в фильтры колонок, как у cxGrid
|
|||
|---|---|---|---|
|
#18+
ну припоминаю что народ лепил что-то сторонее, типа вот такого ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2019, 16:03 |
|
||
|
Загрузка данных в фильтры колонок, как у cxGrid
|
|||
|---|---|---|---|
|
#18+
оказалось, что есть похожее - TUniTreeView в режиме UseCheckBox ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2019, 16:03 |
|
||
|
Загрузка данных в фильтры колонок, как у cxGrid
|
|||
|---|---|---|---|
|
#18+
ну на их форме чего-то там обсуждают, но если прикладывают к обсуждению пример с реализацией, то его нельзя скачать... могут скачивать только покупатели ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2019, 16:05 |
|
||
|
Загрузка данных в фильтры колонок, как у cxGrid
|
|||
|---|---|---|---|
|
#18+
Я даже больше скажу, у них там отдельные товарищи умудряются продавать пакеты своих компонентов и тем, и автор смотрит на это сугубо положительно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2019, 16:20 |
|
||
|
Загрузка данных в фильтры колонок, как у cxGrid
|
|||
|---|---|---|---|
|
#18+
X11 оказалось, что у UniHiddenPanel нет какого-то там контейнера и ничего более менее сложного на эту панель кинуть нельзя - вываливается AV при загрузке формы. Можно было бы создать выпадающий список с чекбоксами на основе обычной сетки, но и сетку, если кинуть на эту панель, то при загрузке формы тоже AV. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2019, 10:15 |
|
||
|
Загрузка данных в фильтры колонок, как у cxGrid
|
|||
|---|---|---|---|
|
#18+
Ну в сам грид ты такого скорее всего не сделаешь, хотя поискать что-то для ExtJS и интегрировать к себе никто не запрещал, но я не сильно такие вещи люблю, новая версия unigui, новая версия Extjs и весь твой код перестает работать, такое уже было. А вообще если чисто сделать какое-то настроечное окно фильтров для грида, то не вижу особых проблем. Сделал distinct для нужных полей, получил массивы значений и записал их в комбобоксы, после чего на основе значений из этих комбобоксов строишь запросы на сервер. В том же cxgrid эти фильтры тоже совершенно не бесплатные с точки зрения нагрузки и объема памяти, требуемого для хранения информации в самом гриде. В общем советов 2: 1) поменьше использовать стороннего js кода взятого непонятно откуда 2) не стараться тянуть свой опыт разработки из vcl в unigui, все же вещь достаточно специфическая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2019, 11:18 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=55&tid=2038746]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
32ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 315ms |

| 0 / 0 |
