I need to get the groupinggrid to redraw the visible portion of the grid. How can I do this?
The reason I need to do this is as follows.
1. I discovered that updating the underlying DataTable on a non-UI thread was the cause of the slowdown when scrolling through the grid.
2. So, instead of updating the DataTable, I now update a custom object. The DataTable holds a reference to this object, and the object''s ToString() fn. returns the actual data. The datatype of the DataColumn is set to match that of the custom object.
3. This does indeed produce much better scrolling performance, but the new value of the custom object is only reflected in the grid when the grid calls ToString() on the custom object, i.e. when it needs to paint the cell. When the grid is static, it doesn''t do this, so the new value of the cell is never displayed.
I''m batching multiple updates to the custom objects every second, and executing them on a separate thread. After I''ve run through the batch, I need to instruct the grid to redraw specific columns and cells, but only the ones that are on-screen.
Furthermore, I require this to work not only while the grid is static, but also when it is being scrolled.
Any help is much appreciated.