Subject | RE: [IBO] How to perform async load on grid with IBOQuery |
---|---|
Author | IBO Support List |
Post date | 2014-08-22T13:05:42Z |
IB Objects doesn't have the exact mechanism you are looking
for. IB Objects fetches records on demand as the dataset navigates to them. If
you want a dataset to be loading in all of its records you just call
FetchAll. Then, if you have the CallbackInc property configured to allow
for callbacks, you can continue to interact with your UI because between
each record fetch there is a call to Application.ProcessMessages(). In this
manner you aren't needing the complexity of actual asynchronous fetching.
Rather, you are just using the main thread only because IB Objects is
giving you the ability to fetch records and yield so that application messages
can continue to be processed.
Even though you don't have the complexity of maintaining
multiple threads, there is still some complexity to do things properly.
Fortunately, most of the complexity is taken care of for you so you don't have
to worry about it too much. For example, if you are in a FetchAll loop and then
you have a button click that does a call to Close on that dataset the fetch all
loop recognizes that it was interrupted and so it gracefully exits allowing the
callstack to unwind without finishing up the fetch all
request.
Perhaps you can give more information on what you are trying
to do and I can give better advice.
Thanks,
Jason Wharton
From: IBObjects@yahoogroups.com [mailto:IBObjects@yahoogroups.com]
Sent: Thursday, August 21, 2014 11:38 PM
To: IBObjects@yahoogroups.com
Subject: [IBO] How to perform async load on grid with IBOQuery
Hello, Iam new with IBO and try to perform large data load into db grid .
I found out that I can use the maxrows property to limit the amount of records fetched from server.
But I just can not figure how to perform the "load another record on grid scroll", say I scroll down to the maxrows and the data provider should fetch another amount of record for the grid to load which will gives feeling that the grid really has a lot of data.
I saw this kind of feature in some application, for example IBExpert and others, but just don't know how to perform the operation.
The FAQ in IB FAQ has only so little information:
===================
===================
Can anybody help me how to solve this.
Thanks.