Отмена редактирования Gridview во время обновленного события ObjectDataSource - PullRequest
4 голосов
/ 07 июля 2011

На моей веб-странице Asp.net у меня есть элемент управления GridView, который связан с данными ObjectDataSource.Пользователь может редактировать строку прямо в GridView.Есть моменты, когда обновление не проходит проверку.Когда это происходит, я бы хотел, чтобы обновляемая строка оставалась в режиме редактирования.

В обработчике событий для onUpdating объект args события имеет свойство cancel.Но мне нужно проверить, не произошло ли обновление в обработчике события onUpdated и нет ли у него свойства e.Cancel.

Поэтому мне нужно знать, как заставить строку GridView оставаться в режиме редактирования в случае сбоя обновления.

Ответы [ 3 ]

4 голосов
/ 07 июля 2011

Очень просто, вы можете сохранить режим редактирования e.KeepInEditMode = true;

protected void GridView1_RowUpdated(object sender, GridViewUpdatedEventArgs e)
{
    e.KeepInEditMode = true;
}
0 голосов
/ 07 июля 2011

сохранить значение EditIndex в переменной.Отмените обновление вида сетки bu GridView1.EditIndex=-1;, а затем, чтобы сохранить вид сетки в режиме редактирования, вы можете снова установить значение EditIndex с ранее сохраненным значением индекса.

0 голосов
/ 07 июля 2011

Одним из способов решения этой проблемы является использование элементов управления Validation, которые ограничивают пользователя отправкой запроса, если проверка не проходит.

Но чтобы сохранить gridview в режиме обновления, вы должны поддерживать его индекс редактирования.свойство, потому что, когда gridview не находится в режиме редактирования, обычно его индекс редактирования устанавливается на -ve значение, но если он находится в режиме редактирования, индекс редактирования gridview устанавливается на некоторое положительное целочисленное значение.ссылка тоже: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridviewupdatedeventargs.keepineditmode.aspx

...