Icon View Incident Report

Minor Minor
Reported By: Rob Frye
Reported On: 12/16/2005
For: Version 4.22 Build 3
# 2149 Using OnFilterRecord That Includes Small Percentage of Records Results in Navigation Errors

When using OnFilterRecord, the First method moves to the second qualifying record instead of the actual first one.

procedure TMainForm.ATableFilterRecord(DataSet: TDataSet; var Accept: Boolean);
begin
  Accept := (DataSet.FieldByName('Code').Value <= 'GGG');
end;

procedure TMainForm.FirstButtonClick(Sender: TObject);
begin
  ATable.First;
end;



Comments Comments and Workarounds
The OnFilterRecord caused only 7 records out of several hundred to be visible. This kicks in the TDBISAMEngine.TableFilterIndexThreshhold property, which causes DBISAM to cache the active index key values of all included records. Unfortunately, in this case the repositioning was not working correctly when the keys were cached. The workaround is to set the TableFilterIndexThreshhold property to 0, which disables this functionality.


Resolution Resolution
Fixed Problem on 1/6/2006 in version 4.22 build 4


Products Affected Products Affected
DBISAM Additional Software and Utilities
DBISAM CLX Client-Server
DBISAM CLX Client-Server with Source
DBISAM CLX Standard
DBISAM CLX Standard with Source
DBISAM ODBC Client-Server
DBISAM ODBC Client-Server with Source
DBISAM ODBC Standard
DBISAM ODBC Standard with Source
DBISAM VCL Client-Server
DBISAM VCL Client-Server with Source
DBISAM VCL Standard
DBISAM VCL Standard with Source

Image