Форум: "Прочее";
Текущий архив: 2014.01.26;
Скачать: [xml.tar.bz2];
Вниз"Искаю" Фильтр для датасета. Готовое или идея Найти похожие ветки
← →
[ВладОшин] © (2013-07-24 08:57) [0]Необходимо пользователю дать возможность задавать сложный фильтр на данные.
Вот хорошая реализация
http://www.fotolink.su/v.php?id=990c374c010dc4fca6a713272504ac5e
Но не устраивает.
Нужно что бы было примерно то же самое, но что бы можно было задавать больше критериев (у них если бесплатно(а я бесплатно:), то без исходников и всего два критерия, как на картинке). Пробовал писать руками в строку где шапка (рис.2, синим шрифтом в title)- игнорирует третий и последующие критерии
Поэтому надо что-то придумать.
Понятно, что потом оно все просто в DS.Filter присваивается. И мы быстро напишем все руками, но не пользователь.
Желательно что-то как на картинке (2), но не больше 3х
Но!
Это не главное..
Главное, что бы потом пользователь мог как-то регулировать условия как ему надо, а не как правила логики
Например, если написано
A or B and C
то по правилам логики А или (B и С)
а пользователь имел ввиду (А или B) и С
т.е. надо помимо условий, ставить скобки. Но юзер не должен их ставить(или пусть ставит, но опционально), а должен как-то группировать условия визуально
Воот..
Есть такое?
Или велосипедничать начинать?
← →
ReindeerMossEater (2013-07-24 09:10) [1]Самое прямое что видел из желаемого - ехлиб большакова.
с небольшими доработками используется уже лет 15.
нет дебильных "мастеров" и "визардов" которые только на первый взгляд кажутся логичными и необходимыми.
фильтры визуально "двусторонние". то есть то что введено непосредственно видно и к введенному можно вернуться и дополнить условие (следствие п.1).
независимы от используемого движка (как сервера так и библиотеки доступа)
← →
[ВладОшин] © (2013-07-24 09:12) [2]
> Желательно что-то как на картинке (2), но не больше 3х
=
> Желательно что-то как на картинке (2), но 3 и больше что бы можно было задавать
← →
[ВладОшин] © (2013-07-24 09:13) [3]
> ReindeerMossEater (24.07.13 09:10) [1]
на картинке и есть EhLib.
Или это в новых (платных) версиях?
← →
Алканавт расправил плечи (2013-07-24 09:16) [4]
> Самое прямое что видел из желаемого - ехлиб большакова.с
> небольшими доработками используется уже лет 15.
ППКС
> нет дебильных "мастеров" и "визардов" которые только на
> первый взгляд кажутся логичными и необходимыми.
А вот это у нас таки приделано :-) Как ни странно, чрезвычайно удобно.
← →
ReindeerMossEater (2013-07-24 09:19) [5]Нет. Была допилена древняя фриварная версия.
Выглядит вот так:
https://www.dropbox.com/s/v6s5kagwzknj900/ehlib.png
То есть фильтрация делается прямо в заголовках столбцов.
← →
ReindeerMossEater (2013-07-24 09:20) [6]А вот это у нас таки приделано :-) Как ни странно, чрезвычайно удобно.
Когда ничего другого не видел, все кажется удобным.
← →
[ВладОшин] © (2013-07-24 09:20) [7]покажите хоть как выглядит
← →
[ВладОшин] © (2013-07-24 09:21) [8]
> https://www.dropbox.com/s/v6s5kagwzknj900/ehlib.png
ну там один фильтр
а если
A or B and C
← →
ReindeerMossEater (2013-07-24 09:36) [9]нет разницы.
вводишь выражения и получаешь что надо.
кроме фильтрации вводом в заголовок есть фильтрация по значению поля.
допустим встаем на строку грида на желаемую колонку.
там написано "вилы" жмем горячую кнопку, получаем все строки с вилами.
если горячие нажать несколько раз (на вилах, лопатах и топорах) - получим вилы лопаты и топоры.
есть множественный выбор по уникальному полю (добавить в выборку вот "эту" строку)
← →
брат Птибурдукова (2013-07-24 10:17) [10]
> Когда ничего другого не видел, все кажется удобным.
ой-вэй, громкие заявления…
← →
Anatoly Podgoretsky © (2013-07-24 11:14) [11]Легче указать скобки.
← →
[ВладОшин] © (2013-07-24 12:50) [12]пока что придумал
Как на картинке, имеем ПОЛЕ -- УСЛОВИЕ -- ЗНАЧЕНИЕ только еще +ПРЕДИКАТ(и/или) и кнопку добавить.
Выбрал, выбрал, набил, выбрал, добавить
добавленное попадает в ListBox, строчкой
ПРЕДИКАТ -- ПОЛЕ -- УСЛОВИЕ -- ЗНАЧЕНИЕ
по др.кнопке в рабочую область окна добавляется GroupBox.
Группбокс - это скобки.
В этот группбокс методом "тащить" накидываются из листбокса условия.
внутри GroupBox действует логика, поэтому что там имел юзер - пофиг. Он предупрежден, что:
что если юзеру надо "вне логики", то он может добавит еще один группбокс и перетащить этот группбокс в новый, равно как и строки из ListBox.
И т.д.
Группбокс внутри группбокса идет по умолчанию с предикатом AND, если не изменить (например, даблкликом по заголовку или через popupmenu)
Примерно, так.
Результат всегда виден в виде строки, так что если юзеру надоест - может выучить правила и сразу быстро писать операторами и скобками.
← →
[ВладОшин] © (2013-07-24 12:54) [13]ps
целевой аудитории сего монстра до it еще очень далеко, даже со скоростью света если побегут :)
← →
Пит (2013-07-25 13:35) [14]на картинке фильтр из cxGrid ! )
По-моему, в корпоративном ПО на дельфи уже грид в виде cxGrid стал стандартом де-факто. Очень мощная штука и вся фильтрация там есть уже.
← →
[ВладОшин] © (2013-07-27 14:33) [15]нет, там eh
ну, я уж, в любом случае, уже начал химичить визард
за отпуск, думаю, нарисую
← →
[ВладОшин] © (2013-08-06 12:38) [16]не нарисовал
получилась ерунда, не юзабельно ни разу
плюс тормозит на слабых компах (из-за вычислений (кого несут, над кем несут, какого типа они добавят условие и т.п.))
← →
[ВладОшин] © (2013-08-06 13:20) [17]а вот, надо еще с TTreeView попробовать
где уровень будет означать скобки
например,
-root
-- все
-- И условие1
что переделываем в
where 1=1
AND условие1
(nb! у меня не sql, просто для понятности :))
или:
-- все
-- И условие1
-- ИЛИ условие2
что переделываем в
where 1=1
AND условие1
OR условие2
или:
-- все
-- И условие1
-- ИЛИ условие2
-- ИЛИ условие3
-- И условие4
что переделываем в
where 1=1
AND (условие1 OR условие2)
OR (условие3 AND условие4)
или:
-- все
-- И условие1
-- ИЛИ условие2
-- И Условие21
-- ИЛИ условие3
-- ИЛИ условие4
-- И условие41
что переделываем в
where 1=1
AND (условие1 OR (условие2 AND условие21))
OR (условие3 ИЛИ условие4 AND условие41)
думаю, наглядно должно быть..
← →
Пит (2013-08-06 14:05) [18]
> нет, там eh
хм... Ты говоришь, что это Eh: fotolink.su/v.php?id=990c374c010dc4fca6a713272504ac5e
А вот cxGrid: http://img-fotki.yandex.ru/get/9316/222899064.0/0_cfda0_3d1ea1d4_XL.jpg
А вот он же в режиме customize: http://img-fotki.yandex.ru/get/9495/222899064.0/0_cfda2_30ad07ca_XL.jpg
Невозможно не заметить родство) Видимо, EhLib продался в свое время DevExpress"у или кто-то у кого-то очень нагло скопипастил.
Девки стали уже стандартом де факто, особенно cxGrid, зачем изобретать свой велосипед - непонятно.
Ты, наверное, еще и Forms не пользуешься, делаешь окна на WinApi, чтобы сэкономить 200 КБ размера exe"шника )))
← →
[ВладОшин] © (2013-08-06 14:10) [19]
> вот он же в режиме customize: http://img-fotki.yandex.ru/get/9495/222899064.
> 0/0_cfda2_30ad07ca_XL.jpg
вот чего ты сразу не показал это?!
> Ты, наверное, еще и Forms не пользуешься
нет, я пользую все что быстрее делает задачу :)
и что бесплатно
← →
Пит (2013-08-06 14:39) [20]
> вот чего ты сразу не показал это?!
а что, должен был?)
> я пользую все что быстрее делает задачу :)
> и что бесплатно
ты delphi то купил, конечно?)
← →
[ВладОшин] © (2013-08-06 14:47) [21]
> а что, должен был?)
обязан :)
> ты delphi то купил, конечно?)
естественно.
Но не я, а шарага, естественно :)
← →
Dennis I. Komarov © (2013-08-06 21:19) [22]Посмотри как в IBSO сделано, если найдешь...
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2014.01.26;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.002 c