Delphi 3 и создание приложений баз данных

         

Свойство Filter


property Filter: string;

Свойство Filter позволяет указать условия фильтрации. В этом случае НД будет отфильтрован, как только его свойство Filtered станет равным True. Синтаксис похож на синтаксис предложения WHERE SQL-оператора SELECT с тем исключением, что: имена переменных программы указывать нельзя, можно указывать имена полей и литералы (явно заданные значения).

Можно применять операторы отношения:

< Меньше чем; > Больше чем; >= Больше или равно; <= Меньше или равно; = Равно; <> Не равно

а также использовать логические операторы AND, NOT и OR:

([Doljnost] = 'доцент') AND ([TabNum] > 300000)

Строку фильтрации можно ввести во время выполнения (рис. 7.34, 7.35):

//когда проставляется галка в поле компонента CheckBoxl (то есть

//когда CheckBoxl.Checked =True), пользователь включает

//фильтрацию; когда пользователь снимает отметку (то есть когда

// CheckBoxl.Checked =True), пользователь выключает фильтрацию

procedure TFormI.CheckBoxIClick(Sender: TObject);

begin

Table1.Filter := Editl.Text;

Table1.Filtered := CheckBoxl.Checked;

end;

Однако при этом нужно следить, чтобы введенная строка соответствовала требованиям, предъявляемым к синтаксису строки Filter.

Другим способом мог бы быть обработчик, считывающий значения фильтрации и преобразующий их к формату строки Filter. На рис. 7.36 и 7.37 показана форма, где значения, по которым осуществляется фильтрация, вводятся в поля компонентов TEdit1. После этого приложение автоматически формирует строку условия фильтрации и заносит ее в свойство Filter. Сформированная строка условия фильтрации для наглядности показывается в форме приложения в компоненте Label3.



Содержание раздела