Текущий архив: 2002.12.12;
Скачать: CL | DM;
Вниз
Локальная фильтрация в FIBplus - не всё Найти похожие ветки
← →
Ajvol (2002-11-22 20:44) [0]Делаю локальную фильтрация в FIBplus по lookup полю, но выводятся у меня после запуска фильтра далеко не все записи удовлетворяющие фильтру, как будто он видит не все записи, а только первые несколько десятков и только на них и накладывает фильтр. А вот если прокрутить весь список (В DBGrid) до конца, то он начинает делать нормальную фильтрацию по всем записям.
Подскажите, что делать...
На дельфи это так:
==========
procedure TForm1.Edit1Change(Sender: TObject);
begin
pFIBDataSet2.Filtered:=false;
if Edit1.Text<>"" then
pFIBDataSet2.Filtered:=true;
end;
procedure TForm1.pFIBDataSet2FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
Accept:=pos(Edit1.Text,pFIBDataSet2.FieldByName("NAZV").AsString) <> 0
end;
← →
Johnmen © (2002-11-23 01:08) [1]Условие фильтра применяется только для тех записей, потребность в которых на данный момент есть у приложения (напр., отображаемых).
← →
Prooksius © (2002-11-23 08:27) [2]FIBPlus отфетчивает с сервера столько записей, сколько запросило приложение. Приложение запросило DBGrid.VisibleRowCount записей. Вот по ним и производится локальная фильтрация. (По определению локальности, только для уже отфетченных записей).
Лечение - делай pFIBDataSet.FetchAll и фильтруй.
Если НД большой - будут тормоза.
Можно фильтровать не локально. Т.е. в SQL писать запрос, где в where писать условие фильтра. Такого не будет.
← →
Prooksius © (2002-11-23 08:31) [3]2 Johnmen
Happy birthday to you... :))))
Совершенно случайно ткнул на анкету и увидел, что сегодня твой день варения... :)
2 moderator - sorry for offtop
Страницы: 1 вся ветка
Текущий архив: 2002.12.12;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.023 c