Шаг 56.
Работа с локальными БД в Delphi.
Фильтрация записей. Событие OnFilterRecord

    На этом шаге мы рассмотрим использование события OnFilterRecord.

    Событие OnFilterRecord возникает при установке в свойстве Filtered значения True. Обработчик события имеет два параметра: имя фильтруемого набора данных и переменную Acept, в которую программа должна поместить True, если текущая запись удовлетворяет критерию фильтрации.

    В отличие от критерия фильтрации, помещаемого в строку Filter и ограниченного рамками синтаксиса условного выражения, критерий, реализуемый в обработчике события OnFilterRecord, определяется синтаксисом Object Pascal и может реализовывать сложные алгоритмы фильтрации. Например, следующий обработчик:

procedure TDataModule1.TablePupilsFilterRecord 
           (DataSet: TDataSet;var Accept: Boolean);
begin
    Accept:=(Pos('П',DataSet['FIO'])=1);
end;
отфильтрует TablePupils по условию: "отобрать всех учеников, чья фамилия начинается на букву "П".

    Если в строке Filter и в обработчике события OnFilterRecord заданы разные критерии фильтрации, то выполняются оба.

    На следующем шаге мы рассмотрим навигацию в неотфильтрованном НД между записями, удовлетворяющими фильтру.




Предыдущий шаг Содержание Следующий шаг