The grid is a master – detail grid with on average around 5000-10000 rows.
At the moment, the grid is bound to a custom object that holds a DataViewManager. Essentially this custom object implements the required interfaces so that it looks like a data view manager so that the grid can attach itself to it but some of the events and methods use an ISyncronizeInvoke (the main form) to execute methods on the correct thread. The data views which display the relevant information are also implemented in a similar way. The reason for using the DataViewManager and DataViews is for filtering.
Actually the performance is not that bad but I get various different problems (erros) related to the schema changing in the dataview and then the grid trying to be updated.
It’s complicated I know but the performance and responsiveness we were getting was shocking. At least now the dataset can be updated and altered on one thread with updates sent to the grid on another. Well that’s the general idea anyway.
Imported from legacy forums. Posted by Chris (had 325 views)