Как бы работал сценарий, если бы функционал был реализован в обработчике открытия формы. Сначала бы загрузилась лента и форма для чтения. Потом сработал бы ваш обработчик и вызвал бы сохранение еще непрогруженной формы. Сохранение (если нет ошибок) вызвало бы Refresh формы и повторный рендеринг сабгридов. Это, как минимум дольше, и, если система тормозит, будет выглядеть для пользователя как глюки.
p.s. Единственный нюанс: рекомендую предусмотреть защиту от повторного нажатия. Пример есть в SDK
https://msdn.microsoft.com/en-us/lib...or=-2147217396