I have now fixed my problem by using OptimizeListChange = true and Save the Row state (Expand/Collapse) before calling BeginUpdate and Restoring the row state after ResumeBinding.
i.e.
SaveState();
grid.BeginUpdate();
grid.Binder.SuspendBinding();
// do my update here
grid.Binder.ResumeBinding();
RestoreState();
grid.EndUpdate();
Everything works fine EXCEPT the current cell keeps rolling down (to the number of child rows that I have on screen) whenever I have some row expanded and the dataset updated.
Did I miss something? how can I preserve the CurrentCell''s position and state?
Many thanks.
>Hi Kai,
>
>These issues happen, when the grid datasource or filter is reset. To maintain the state of row expanded / collapsed, you need to save the state and restore it after reset. Here is sample which demonstrates the way to maintain the state.
>
>Sample :
ExpandGrid.zip
>
>You can call the Binder.EndEdit method to save the current cell value, before reset.
>
>Thanks and regards,
>Madhan