Hello Abayomi,
I have been investigating into this behavior you are referring to in this case, and it sounds like this performance issue you are seeing is likely coming from a large amount of property change notifications – possibly tied to an implementation of the INotifyPropertyChanged interface on your underlying property to the checkbox column. I cannot be sure of this though, as I do not know exactly what structure your data item is set up in. I can still make a recommendation in this case, though.
The best recommendation I can make without knowing more about your scenario is to try the Begin/End Update() methods along with the Suspend/Resume RowSynchronization() updates in this case. The code for this could look like the following, although if your call here is happening synchronously, this may not work:
grid.BeginUpdate();
grid.SuspendRowSynchronizion();
try
{
// set checkbox values here
}
finally
{
grid.ResumeRowSynchronizion();
grid.EndUpdate();
}
If this doesn't work for you, then would it be possible for you to please provide an isolated sample project that demonstrates this performance issue that you are seeing? I also find it rather strange that you had mentioned that you are looping through the Selected.Cells collection, but are updating thousands of records in this case. Perhaps a select-all operation happened on your users side? Can you please elaborate a bit further on this?
Please let me know if you have any other questions or concerns on this matter.