powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
12 сообщений из 12, страница 1 из 1
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
    #39543659
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

Исходные данные.

DevExpress, построитель фильтра. В данном случае в фильтр попадают записи, название которых (поле Product) начинается Express и с датой заказа (поле Order Date) меньшей, чем 28 октября 2017 года:
...
Рейтинг: 0 / 0
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
    #39543660
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос:

Как заставить DevExpress-овский фильтр в качестве второго параметра условия использовать не константы, а объекты данных?

Например, чтобы выбрать записи, у которых дата заказа (поле Order Date) меньше даты поставки (поле Delivery Date).

PS: возможно, в современных DevExpress такая возможность уже есть? (у меня Delphi 2007 + DevExpress от 2011 года).
...
Рейтинг: 0 / 0
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
    #39543661
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У фильтра никак. Но можно AutoCalc поле добавить в датасет, где и писать эти условия, после чего в фильтре они будут в виде типа "да/нет".
...
Рейтинг: 0 / 0
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
    #39543664
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiУ фильтра никак. Но можно AutoCalc поле добавить в датасет, где и писать эти условия, после чего в фильтре они будут в виде типа "да/нет".
Больно страшные костыли: или "в коде" заранее список условий определять, или отдельный редактор для них... :(

PS: понятно, что моя хотелка добавит гемора разработчикам. Например, легко построить фильтр, который тупо не компилируется из-за недопустимых типов данных операндов, или при вычислении условия фильтрации вылетает исключение... Однако, имхо, сие легко обрабатывается известными методами и было бы полезно во многих практических случаях.
...
Рейтинг: 0 / 0
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
    #39543665
Жытель Гондураса
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разработчекам давно пора интегрировать в их библиотеку компонент типа FastScript
...
Рейтинг: 0 / 0
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
    #39543667
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя, может что-то и можно костыльного сделать:
- вот тут есть вариант добавления своего типа фильтра (можно добавить фильтра типа "колонка с датой" больше-меньше и варианты значений типа "даты заказа, даты доставки, даты выполнения".
- техподдержка говорит, что нельзя колонку с колонкой сравнивать , но можно сделать OnFilterRecord и вручную условия обрабатывать (как раз под тот кастомный фильтр из первой ссылки).

Будет или нет работать -- не знаю. Любители поэкспериментировать -- вперед, вдруг что и получится.
...
Рейтинг: 0 / 0
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
    #39543671
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Было бы очень хорошо для интерактивного фильтра ввести возможность указывать, что требуются параметризованные данные. Сие, возможно, не так полезно при работе с гридами, но часто было бы полезно при формировании отчетов (например).

Например, вот мой визуальный фильтр "внутри" FastReport-а, здесь одно из условий фильтрации (для поля Док_REQ_LOCKED) помечено галкой "параметр":
...
Рейтинг: 0 / 0
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
    #39543672
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В дальнейшем значение параметра можно задать при формировании отчета либо вручную (в скрипте), либо автоматически (формируется форма ввода параметров):
...
Рейтинг: 0 / 0
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
    #39543673
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С отчетом, наверное, я неудачный пример привел: все же, "обычный" юзер неспособен создавать отчеты, тут куда гуманее было бы просто предоставить возможность работать с SQL запросами. Если модель данных системы сие позволяет, конечно. В примере выше - точно не позволяет, ибо EAV и некоторым проще застрелиться, чем построить запрос без виджетов.
...
Рейтинг: 0 / 0
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
    #39543675
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жытель ГондурасаРазработчекам давно пора интегрировать в их библиотеку компонент типа FastScript
Если пробежаться по статьям https://habrahabr.ru/company/devexpress/ - то можно заметить, что сие уже давно есть, только к Delphi оно не имеет никакого отношения... и очень похоже, что у DevExpress интерес к Delphi довольно слаб, "по сравнению".
...
Рейтинг: 0 / 0
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
    #39543676
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiХотя, может что-то и можно костыльного сделать:
- вот тут есть вариант добавления своего типа фильтра (можно добавить фильтра типа "колонка с датой" больше-меньше и варианты значений типа "даты заказа, даты доставки, даты выполнения".
- техподдержка говорит, что нельзя колонку с колонкой сравнивать , но можно сделать OnFilterRecord и вручную условия обрабатывать (как раз под тот кастомный фильтр из первой ссылки).

Будет или нет работать -- не знаю. Любители поэкспериментировать -- вперед, вдруг что и получится.
Обе ссылки довольно старые, возможно, за 11 лет что-то изменилось.
...
Рейтинг: 0 / 0
Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
    #39543696
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД...возможно, за 11 лет что-то изменилось.
Загрузил актуальную демку , посмотрел документацию - вроде как движения в рассматриваемом направлении не было. :(
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Фильтр DevExpress - как в качестве второго параметра использовать объект данных?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]