Некоторые преимущества использования событийной фильтрации в Delphi:
- Возможность задавать сложные условия фильтрации. 23 В событии OnFilterRecord можно сравнивать не одно поле, а несколько, причём поля не обязательно должны быть индексированы. 2
- Реализация сложных алгоритмов фильтрации. 3 В отличие от критерия фильтрации, помещаемого в строку Filter и ограниченного рамками условного выражения, критерий, реализуемый в обработчике события OnFilterRecord, определяется синтаксисом Object Pascal и может реализовывать сложные алгоритмы фильтрации. 3
- Одновременное выполнение разных критериев фильтрации. 3 Если в строке Filter и в обработчике события OnFilterRecord заданы разные критерии фильтрации, то выполняются оба. 3
Однако у событийной фильтрации в Delphi есть и минус: проверка осуществляется перебором всех записей таблицы, и если таблица содержит очень много записей, процесс фильтрации может затянуться. 2