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

Вопросы программирования и использования MSEide + MSEgui.

Модератор: Модераторы

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

Сообщение t-ea » 23.06.2008 03:30:06

D Delphi заносил в Filter строку 'А*' и показывались все поля начинающеися с А. Здесь свойство Filter считает «звёздочку» простым символом, в результате ничего не показыватся.

Ситуация очень распространённая, поэтому, я думаю, и решаться должна тоже просто…
t-ea
новенький
 
Сообщения: 98
Зарегистрирован: 22.09.2006 00:22:34

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

Сообщение debi12345 » 23.06.2008 08:23:18

Фильтр какого БД-компонента ?

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

blya_field like 'A%'

или

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

Мне этот вариант не всегда подходит (так как после освежения фильтра делаются перезапросы к БД), и тогда фильтрацию делаю в упомянутом OnFilterRecord.
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

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

Сообщение t-ea » 23.06.2008 11:19:26

Спасибо!
В этот раз я не заметил события OnFilterRecord. :oops:

P.S.: Кстати, в этом случае, невозможно использовать автоматическую нумерацию строк tdbStringGrid'е. Или я опять чего-то недосмотрел?
t-ea
новенький
 
Сообщения: 98
Зарегистрирован: 22.09.2006 00:22:34


Вернуться в MSEide + MSEgui

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10

Рейтинг@Mail.ru