Please see attached files as I took screenshots of the code blocks. As i mentioned in the title, when I call ajaxRequest function radgrid losing its selected states.
In order for the grid to remember the client-side selection in the way your performing the ajax request, you need to pass the select rows index by calling args.get_itemIndexHierarchical() and passing it in your ajax request, so you can select it in the ajax request event server-side.
This is the only way to do this if you want to call the ajax request yourself.
I think a better way would be to set ClientSettings.EnablePostBackOnRowClick="true" and handle the SelectedIndexChanged event of your RadGrid and let the RadGrid postback, instead of forcing the RadAjaxPanel to make an ajax request, thus the selected row will retain its state when the ajax request completes.