Hmm... interesting problem. Normally you wouldn't want to do this, but I can see to some extent why.
Here's a possible solution...
Execute your grid query and databind in the handler for PreRender. This event happens after the other events and such. Don't bind in Page_Load. This way, when you post an item Edit event, it will get caught. Then you can just set the edit item index and do nothing else. The query and bind during prerender will happen every time, and now that you have editItemIndex set, it will bind with the edit row intact as desired. The one catch is that you can not have any other page events cause a postback while you are editing otherwise you'll loose your edits when the prerender bind happens.
-
Peter