>Hi. >I don't know WPF, is there a standalone scrollbar to use?
Yes: >You can use its .Value to get records, without relying to percent.
Same in WPF it has Minimum,Maximum,SmallChange and LargeChange properties. The size of the thumb is set with ViewportSize.
>Another thing to consider, maybe, is that are many GetRecord() calls in Fill(). Can this be reduced to one method call ( .GetRecords(start,end) ?
That was one of the optimizations I was looking at. If the datafile has no memo fields, I can use COPY TO ARRAY instead of SCATTER. I'm still debating on the optimizations. I do have a bit more optimizing to do here. Currently I am copying the data from the returned array into a List, However I can probably just save the returned array and use it directly. I was having syntax problems with the indexers on the returned array when I wrote the code I posted, but I think I have that figured out now.
>Another approach I tested ( for large tables, 800k or so ) was to have a reference record and to get records with + / - offset (let say 50 before and 50 after reference record ) Then you will need new records from server only when you're out of "view". This worked well for randomly sorting criteria and huge tables. I think that is not needed for VFP backend.
I'm also considering some sort of buffering like this. At the moment it doesn't look needed. But it may come up once I stress test the app.