Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
14-36340
Ketmar
2002-11-19 10:14
2002.12.12
WindwBlinds, с.... гадина, в общем! %-)


1-36102
Маришка
2002-12-03 09:39
2002.12.12
Приветик!


1-36130
Ник
2002-12-03 14:35
2002.12.12
Динамические массивы


14-36417
SuperVK
2002-11-20 11:21
2002.12.12
Ухожу в армию


8-36297
Sniffer
2002-08-28 17:43
2002.12.12
Огонь




   Наверх