I am working with a cDBCJGrid. I have a list of data that the user is working on. I have another process which runs in another thread which updates the data this user will be using. I have successfully updated the data into the grid's DataSource... but I can't get it to display without the user taking some action (navigation or saving refreshes the entire grid).

I can't use the existing display data commands in the CodeJock class because they cause unwanted side-effects (data loss if the user changed data and didn't save before the refresh hit).

hypothetical scenario:
The grid displays a list of inventory. The user needs to know some info about this inventory which must be gathered dynamically each time. This data gathering takes about 10-15 seconds to process per record. If I had 40 lines on the screen, it would take... (20*10 seconds) 200 seconds or about 2 minutes just to load the program. So, I have taken all the load time and off-loaded it to a background process. As it completes, it sets a status flag which I then use to notify the user and they can begin working. All the while, the background process continues on and does all inventory and the user only had to wait the initial 15 seconds for the first record.

I am using a timer event every XXXXms to reread the next record in a continuous loop until all records (in the datasource) have been updated. My only issue is getting the grid display to update while allowing the user to work on a different record. It looks like I have to use the DrawCell but I can't get access to the Metrics pvComObject ID. I tried using Trace, but it appears that all the drawing events are triggered from within the COM controls and not from VDF...

Any ideas?