Как добиться верной работы фильтра на запросах и на неиндексированных таблицах

Советы » Поиск, сортировка и фильтр » Как добиться верной работы фильтра на запросах и на неиндексированных таблицах

(Т.е. при работе программы наблюдалась следующая картина: в результате очередной фильтрации оставалось видно 4 записи из восьми. Добавляем букву к фильтру, остается, допустим, две. Убираем букву, которую только что добавили, в гриде все равно видно только две записи)

Эта проблема была в Delphi 3.0 только на TQuery, а в Delphi 3.01 появилась и в TTable. Лечится так (простой пример):

procedure

TMainForm.Edit1Change(Sender: TObject); begin

if

length(Edit1.Text) > 0 then

begin

Table1.Filtered := TRUE

; UpdateFilter(Table1); end

else

Table1.Filtered := FALSE

; end

; procedure

TMainForm.UpdateFilter(DataSet: TDataSet); var

FR: TFilterRecordEvent; begin

with

DataSet do

begin

FR := OnFilterRecord; if

Assigned(FR) and

Active then

begin

DisableControls; try

OnFilterRecord := nil

; OnFilterRecord := FR; finally

EnableControls; end

; end

; end

; end

;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com