D Delphi заносил в Filter строку 'А*' и показывались все поля начинающеися с А. Здесь свойство Filter считает «звёздочку» простым символом, в результате ничего не показыватся.
Ситуация очень распространённая, поэтому, я думаю, и решаться должна тоже просто…
Как отфильтровать данные при помощи Filter?
Модератор: Модераторы
- debi12345
- долгожитель
- Сообщения: 5761
- Зарегистрирован: 10.05.2006 23:41:15
- Откуда: Ташкент (Узбекистан)
Фильтр какого БД-компонента ?
Если TMSESQLQuery, то по умолчанию (если не определен OnFilterRecord-обработчик) к исходному SQL-запросу добавляется еще одно WHERE-условие. Поэтому фильтр должен соответcтвовать SQL-диалекту, вроде :
blya_field like 'A%'
или
blya_field ~ 'A[[:print:]]*'
Мне этот вариант не всегда подходит (так как после освежения фильтра делаются перезапросы к БД), и тогда фильтрацию делаю в упомянутом OnFilterRecord.
Если TMSESQLQuery, то по умолчанию (если не определен OnFilterRecord-обработчик) к исходному SQL-запросу добавляется еще одно WHERE-условие. Поэтому фильтр должен соответcтвовать SQL-диалекту, вроде :
blya_field like 'A%'
или
blya_field ~ 'A[[:print:]]*'
Мне этот вариант не всегда подходит (так как после освежения фильтра делаются перезапросы к БД), и тогда фильтрацию делаю в упомянутом OnFilterRecord.
Спасибо!
В этот раз я не заметил события OnFilterRecord.
P.S.: Кстати, в этом случае, невозможно использовать автоматическую нумерацию строк tdbStringGrid'е. Или я опять чего-то недосмотрел?
В этот раз я не заметил события OnFilterRecord.
P.S.: Кстати, в этом случае, невозможно использовать автоматическую нумерацию строк tdbStringGrid'е. Или я опять чего-то недосмотрел?
