Delphi. UniGUI. Делаем фильтры. Быстро и просто

Вот, что у нас получится на выходе

Чтобы освоить базовые принципы работы с фильтрами, посмотрите пример, который находится в

Вообще, у UniGUI отличные демки! Можно просто смотреть их и многое делать по аналогии!

Формируем запрос

Итак, в основе нам нужно построить запрос. Пример для MySQL из моего проекта

В написании этого запроса мне помогли следующие ресурсы

Can we use alias name in LIKE statement?

Can I make WHERE col LIKE ‘%’ select NULL values too?

Нужно было сделать так, чтобы NULL поля тоже отображались, поэтому я добавлял везде

Также нужно было обернуть запрос с псевдонимами (alias) в другой запрос. Иначе MySQL сервер не видит псевдонимы.

Настраиваем TFDQUERY

Вставляем запрос

Ставим значение параметров, для старта так сказать. В дальнейшем оно будет обрабатываться в ColumnFilter.

Готовим UNIDBGRID

Обрабатываем событие OnColumnFilter

Если Value =”‘, тогда значение фильтра станет %%, что будет означать, что будут видны все записи.

А также событие OnClearFilters

 

Добавляем UniHiddenPanel и добавляем на неё столько edit ов, сколько нужно фильтров

 

Открываем DBGrid > Columns и настраиваем для каждой колонки

В принципе это всё!

 

This entry was posted in Delphi, MySQL. Bookmark the permalink.