|
|
|
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
|
|||
|---|---|---|---|
|
#18+
Всем привет. Исходные данные. DevExpress, построитель фильтра. В данном случае в фильтр попадают записи, название которых (поле Product) начинается Express и с датой заказа (поле Order Date) меньшей, чем 28 октября 2017 года: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2017, 12:52:25 |
|
||
|
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
|
|||
|---|---|---|---|
|
#18+
Вопрос: Как заставить DevExpress-овский фильтр в качестве второго параметра условия использовать не константы, а объекты данных? Например, чтобы выбрать записи, у которых дата заказа (поле Order Date) меньше даты поставки (поле Delivery Date). PS: возможно, в современных DevExpress такая возможность уже есть? (у меня Delphi 2007 + DevExpress от 2011 года). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2017, 12:53:15 |
|
||
|
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
|
|||
|---|---|---|---|
|
#18+
У фильтра никак. Но можно AutoCalc поле добавить в датасет, где и писать эти условия, после чего в фильтре они будут в виде типа "да/нет". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2017, 12:56:01 |
|
||
|
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
|
|||
|---|---|---|---|
|
#18+
JaDiУ фильтра никак. Но можно AutoCalc поле добавить в датасет, где и писать эти условия, после чего в фильтре они будут в виде типа "да/нет". Больно страшные костыли: или "в коде" заранее список условий определять, или отдельный редактор для них... :( PS: понятно, что моя хотелка добавит гемора разработчикам. Например, легко построить фильтр, который тупо не компилируется из-за недопустимых типов данных операндов, или при вычислении условия фильтрации вылетает исключение... Однако, имхо, сие легко обрабатывается известными методами и было бы полезно во многих практических случаях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2017, 13:11:11 |
|
||
|
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
|
|||
|---|---|---|---|
|
#18+
Разработчекам давно пора интегрировать в их библиотеку компонент типа FastScript ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2017, 13:15:20 |
|
||
|
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
|
|||
|---|---|---|---|
|
#18+
Хотя, может что-то и можно костыльного сделать: - вот тут есть вариант добавления своего типа фильтра (можно добавить фильтра типа "колонка с датой" больше-меньше и варианты значений типа "даты заказа, даты доставки, даты выполнения". - техподдержка говорит, что нельзя колонку с колонкой сравнивать , но можно сделать OnFilterRecord и вручную условия обрабатывать (как раз под тот кастомный фильтр из первой ссылки). Будет или нет работать -- не знаю. Любители поэкспериментировать -- вперед, вдруг что и получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2017, 13:24:52 |
|
||
|
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
|
|||
|---|---|---|---|
|
#18+
Было бы очень хорошо для интерактивного фильтра ввести возможность указывать, что требуются параметризованные данные. Сие, возможно, не так полезно при работе с гридами, но часто было бы полезно при формировании отчетов (например). Например, вот мой визуальный фильтр "внутри" FastReport-а, здесь одно из условий фильтрации (для поля Док_REQ_LOCKED) помечено галкой "параметр": ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2017, 13:35:50 |
|
||
|
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
|
|||
|---|---|---|---|
|
#18+
В дальнейшем значение параметра можно задать при формировании отчета либо вручную (в скрипте), либо автоматически (формируется форма ввода параметров): ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2017, 13:36:39 |
|
||
|
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
|
|||
|---|---|---|---|
|
#18+
С отчетом, наверное, я неудачный пример привел: все же, "обычный" юзер неспособен создавать отчеты, тут куда гуманее было бы просто предоставить возможность работать с SQL запросами. Если модель данных системы сие позволяет, конечно. В примере выше - точно не позволяет, ибо EAV и некоторым проще застрелиться, чем построить запрос без виджетов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2017, 13:41:30 |
|
||
|
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
|
|||
|---|---|---|---|
|
#18+
Жытель ГондурасаРазработчекам давно пора интегрировать в их библиотеку компонент типа FastScript Если пробежаться по статьям https://habrahabr.ru/company/devexpress/ - то можно заметить, что сие уже давно есть, только к Delphi оно не имеет никакого отношения... и очень похоже, что у DevExpress интерес к Delphi довольно слаб, "по сравнению". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2017, 13:55:13 |
|
||
|
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
|
|||
|---|---|---|---|
|
#18+
JaDiХотя, может что-то и можно костыльного сделать: - вот тут есть вариант добавления своего типа фильтра (можно добавить фильтра типа "колонка с датой" больше-меньше и варианты значений типа "даты заказа, даты доставки, даты выполнения". - техподдержка говорит, что нельзя колонку с колонкой сравнивать , но можно сделать OnFilterRecord и вручную условия обрабатывать (как раз под тот кастомный фильтр из первой ссылки). Будет или нет работать -- не знаю. Любители поэкспериментировать -- вперед, вдруг что и получится. Обе ссылки довольно старые, возможно, за 11 лет что-то изменилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2017, 13:57:01 |
|
||
|
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
|
|||
|---|---|---|---|
|
#18+
чччД...возможно, за 11 лет что-то изменилось. Загрузил актуальную демку , посмотрел документацию - вроде как движения в рассматриваемом направлении не было. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2017, 16:11:07 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39543664&tid=2041670]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
185ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 194ms |
| total: | 476ms |

| 0 / 0 |
