Страница 1 из 1

Как отфильтровать данные при помощи Filter?

СообщениеДобавлено: 23.06.2008 03:30:06
t-ea
D Delphi заносил в Filter строку 'А*' и показывались все поля начинающеися с А. Здесь свойство Filter считает «звёздочку» простым символом, в результате ничего не показыватся.

Ситуация очень распространённая, поэтому, я думаю, и решаться должна тоже просто…

Re: Как отфильтровать данные при помощи Filter?

СообщениеДобавлено: 23.06.2008 08:23:18
debi12345
Фильтр какого БД-компонента ?

Если TMSESQLQuery, то по умолчанию (если не определен OnFilterRecord-обработчик) к исходному SQL-запросу добавляется еще одно WHERE-условие. Поэтому фильтр должен соответcтвовать SQL-диалекту, вроде :

blya_field like 'A%'

или

blya_field ~ 'A[[:print:]]*'

Мне этот вариант не всегда подходит (так как после освежения фильтра делаются перезапросы к БД), и тогда фильтрацию делаю в упомянутом OnFilterRecord.

Re: Как отфильтровать данные при помощи Filter?

СообщениеДобавлено: 23.06.2008 11:19:26
t-ea
Спасибо!
В этот раз я не заметил события OnFilterRecord. :oops:

P.S.: Кстати, в этом случае, невозможно использовать автоматическую нумерацию строк tdbStringGrid'е. Или я опять чего-то недосмотрел?