Первый способ:
Создайте переменную сеанса, которая будет содержать ваш объект БД (DataTable или сопоставленные объекты).
GridView должен работать с этим экземпляром, а не отправлять данные в базу данных.
После завершения редактирования вы можете взять объект из сеанса и сохранить его, как обычно.
Второй способ:
Я бы использовал javascript, чтобы собрать все изменения на стороне клиента, пока он редактирует как массив объектов (каждый объект - отдельная строка).
После завершения редактирования вы можете создать строку json из коллекции и передать ее на сервер.
Если ваша конфигурация объекта json такая же, как у класса сервера, вы можете использовать JavaScriptSerializer для десериализации вашей строки в коллекцию объектов.
После этого вы можете сохранять свои объекты, как обычно.