Кент Рейсдорф. BORLAND C++BUILDER. Раздел 4

Кент Рейсдорф. BORLAND C++BUILDER. Страница 460

Локальные фильтры

Свойства Filter, Filtered и FilterOptions служат для установки локальных фильтров в TDataSet. Локальная фильтрация осуществляется внутри прило­жения. Это дает определенные преимущества для TDataSet с малым коли­чеством строк; в этом случае вся таблица располагается в кэше BDE и об­ращение к серверу базы данных не требуется.

Filter позволяет вам указать выражение, которое ограничивает количе­ство строк, видимых в TDataSet. Синтаксис, используемый в выражениях, похож на синтаксис оператора WHERE языка SQL. Поля можно сравнивать друг с другом и с постоянными величинами. В фильтрующих выражениях можно использовать следующие операторы:

Оператор Значение
< Меньше
> Больше
>= Больше или равно
<= Меньше или равно
= Равно
о Не равно
0 Окружает отдельный элемент составного выражения
[] Окружает имена полей с пробелами
AND, OR, NOT Объединяет отдельные элементы составных выражений

Вы можете также фильтровать записи, используя событие OnFilterRecord. Обработчик этого события выглядит следующим образом:

Обработчик устанавливает параметр Accept в зависимости от того, удов­летворяет ли строка заданному критерию. Обратите внимание, что TDataSet, к которому относится фильтр, также передается в качестве параметра. За­метьте, что для установки параметра Accept используется вариантное свойство Value.

С помощью методов FindFirst, FindNext, FindPrior и FindLast вы можете осуществлять поиск в TDataSet, используя выражения-фильтры. FindFirst находит первую строку, удовлетворяющую критерию фильтрации, FindNext находит следующую строку. FindPrior находит предыдущую строку, соответ­ствующую заданному критерию, a FindLast — последнюю.

FilterOptions представляет собой набор, который может включать два возможных элемента:

Web-дизайн (с) 2010 All rights reserved