ВУЗ:
Составители:
Рубрика:
40
2.7. Фильтрация
Фильтрация позволяет исключить из просмотра (замаскировать) ненуж-
ные строки. Фильтрация записей выполняется с помощью строкового свой-
ства
Filter и булевского свойства Filtered, которые имеются в множест-
вах данных (компонентах Table, Query и др.). После того как в свойстве
Fil-
ter
записано условие, а в свойстве Filtered установлено значение true, все
управляющие элементы, связанные с множеством данных, видят только те за-
писи, которые удовлетворяют заданному критерию.
Синтаксис выражения в свойстве
Filter аналогичен синтаксису логиче-
ского выражения в языке
Delphi, но в качестве идентификаторов можно исполь-
зовать только имена полей таблицы. Разрешены операции отношения и ло-
гические операции not, and, or. Нельзя использовать функции (в том числе
стандартные математические) и сравнивать поля между собой.
Составное свойство
FilterOptions позволяет уточнить алгоритм срав-
нения строковых значений, записанных в свойстве
Filter. Если значение
свойства
foCaseInsensitive равно true, то при проверке строк не делается
различий между прописными и строчными буквами. Если значение
foNoPar-
tialCompare
равно true, то равными считаются строки, состоящие из одина-
ковых символов и совпадающие по длине.
В тех случаях, когда ограничения свойства
Filter не позволяют задать
требуемое условие отбора записей, можно выполнять фильтрацию с помощью
события
OnFilterRecord. Оно генерируется при смещении курсора, если зна-
чение свойства
Filtered равно true. Обработчик события OnFilterRecord
имеет параметр
Accept булевского типа. По умолчанию Accept имеет значе-
ние
true и условие включения записи определяется выражением в свойстве
Filter.Чтобы исключить запись, переменной Accept следует присвоить зна-
чение
false.
Фильтрация с использованием события
OnFilterRecord позволяет ис-
пользовать все возможности языка
Delphi, но снижает производительность.
2.7. Фильтрация
Фильтрация позволяет исключить из просмотра (замаскировать) ненуж-
ные строки. Фильтрация записей выполняется с помощью строкового свой-
ства Filter и булевского свойства Filtered, которые имеются в множест-
вах данных (компонентах Table, Query и др.). После того как в свойстве Fil-
ter записано условие, а в свойстве Filtered установлено значение true, все
управляющие элементы, связанные с множеством данных, видят только те за-
писи, которые удовлетворяют заданному критерию.
Синтаксис выражения в свойстве Filter аналогичен синтаксису логиче-
ского выражения в языке Delphi, но в качестве идентификаторов можно исполь-
зовать только имена полей таблицы. Разрешены операции отношения и ло-
гические операции not, and, or. Нельзя использовать функции (в том числе
стандартные математические) и сравнивать поля между собой.
Составное свойство FilterOptions позволяет уточнить алгоритм срав-
нения строковых значений, записанных в свойстве Filter. Если значение
свойства foCaseInsensitive равно true, то при проверке строк не делается
различий между прописными и строчными буквами. Если значение foNoPar-
tialCompare равно true, то равными считаются строки, состоящие из одина-
ковых символов и совпадающие по длине.
В тех случаях, когда ограничения свойства Filter не позволяют задать
требуемое условие отбора записей, можно выполнять фильтрацию с помощью
события OnFilterRecord. Оно генерируется при смещении курсора, если зна-
чение свойства Filtered равно true. Обработчик события OnFilterRecord
имеет параметр Accept булевского типа. По умолчанию Accept имеет значе-
ние true и условие включения записи определяется выражением в свойстве
Filter.Чтобы исключить запись, переменной Accept следует присвоить зна-
чение false.
Фильтрация с использованием события OnFilterRecord позволяет ис-
пользовать все возможности языка Delphi, но снижает производительность.
40
Страницы
- « первая
- ‹ предыдущая
- …
- 38
- 39
- 40
- 41
- 42
- …
- следующая ›
- последняя »
