I've posted a thread about save/restore row 2 months ago. It worked great until I grouped a column.
When a column is grouping, the row index that I save/restore is the index in the grouping zone where the row located. When I load this row index to the gridview, every grouping zone will take over this row index. For example if I save a selected row, when I reload its index, all rows which has this index in every grouping zone will be selected.
If you would like to test, check out the demo in my old post (Hristo's answer):
Thank you by advance for your help.