The reason why you are not able to add more than one row is that you create a new DataTable on every post back and the new row is added to it. I understand that this is for testing purposes and you don't have an actual database running. So to test if this works you would need to operate the same DataTable on post backs. The DataTable that you create on the first request should be put into the session, and then on subsequent postbacks it needs to be restored from the session. That way you will be adding to one DataTable, not to a new one every time.
Regarding exception. I am not seeing how you connect OnSuccess event handler, but it probably needs to be reassigned to the grid that returns from the callback on every callback.
Hope this helps.