Curiously, I did this in a different application, and it works. Dataset A is filtered, and every time a record is found, it is appended to dataset B.
The rows on the grid for dataset B populate as they are found, exactly the desired result. Obviously, it is extra coding work and overhead. Dataset B is an internal "memory set", has to bbe cloned from A etc. I was hoping to get a grid updated using one dataset only. Appreciate the feedback thank you. > Hi > > the Filter/Filtered/OnFilterRecord set > works more or less the way you describe. > > It seems that this is not the functionality you really need. > > From what you describe I understand (possibly I'm wrong) > that you want an operation where > 1. a kind of filtering is applied to the rows of a dataset > testing the rows one by one > 2. when a row passes the test, it is moved to SECOND dataset > and displayed to a second grid. > > If the above is correct, then you have to code it by yourself. > The filtering capabilities of the TDataset do not cover that > kind of functionality. > [EMAIL PROTECTED] Ýãñáøå: >> Delphi 5. >> Have a TDBGrid attached to a TDataset. >> The dataset has a custom filter ie >> procedure TForm1.OnFilterRecord(DataSet: TDataSet; var Accept: Boolean); >> ... >> Sometimes, the filter will only pick out a handful of records from a large >> dataset. Say 7 records. >> I notice the grid does not display any entries until all 7 have been found >> (the grid contains more than 7 rows). To find all 7, the entire file has >> been scanned. >> Is there a way to update the grid immediately: as soon as OnFilterRecord >> has returned Accept=true ? >> That is, the grid would populate rows (plop, plop, plop) as the entire file was scanned and each of the records found. The user could then CANCEL >> when they saw their record come up. Instead of waiting for the entire file >> to be filtered/scanned. >> Dataset.Refresh starts the while process over again: that is not what I want. >> Feels like I want a "grid.refresh" method: an >> Application.ProcessMessages >> sort of thing, to ensure the grid is actually displaying the record which >> I know has just been accepted in OnFilterRecord. >> Is there a trick, or am I deluding myself, and should take a different approach... ? >> Many thanks in advance. >