Фильтрация по частичному соответствию
Для случаев сортировки по символьным полям полезно делать фильтрацию по частичному соответствию индексного поля (полей) условиям фильтрации.
Пример.
Пусть рассматривавшаяся выше ТБД отсортирована п( наименованию товара 'Tovar' (рис.8.32):Обработчик отметки CheckBox1 ("Фильтровать"):
procedure TForm1.CheckBoxIClick(Sender: TObject);
begin
IF CheckBoxl.Checked THEN
begin
{————фильтрация записей в НД————}
WITH Tablel do begin
CancelRange;
SetRange([Editl.Text],['яя']);
END; {with}
end {then}
ELSE
{———отмена фильтрации ——————}
Tablel.CancelRange;
end;
В этом случае в НД будут показаны все записи с названием товара, равны или большим указанного в Edit1 (рис.8.33):
Сменим вызов метода SetRange на следующий:
SetRange([Edit1.Text],[Edit1.Text + 'яя']);
Тогда в результате фильтрации в отфильтрованный НД попадут только записи, начинающиеся с введенного в Editi фрагмента названия товара, т.е. с буквы М (рис.8.34):