Вызов метода RowUpdate для динамически создаваемого GridView - PullRequest
0 голосов
/ 08 ноября 2011

Я динамически создал сетку внутри другой сетки.Родительская сетка является статической, созданной на странице aspx, а дочерняя сетка создается динамически.Теперь, когда пользователь нажимает кнопку «Сохранить» в дочерней сетке, я хочу, чтобы метод RowUpdating был запущен.Так как я создал Столбцы дочерней сетки с использованием TemplateGridView, я определил имя команды следующим образом в TemplateGridView:

case ListItemType.Footer:
   ImageButton BtnSave = new ImageButton();
   BtnSave.ID = "Btn" + _columnName;
   BtnSave.ImageUrl = "~/Images/saveIcon.jpg";
   BtnSave.CommandName = "Update";
   BtnSave.CausesValidation = true;
   container.Controls.Add(BtnSave);
   break;

Также вызывается функция RowUpdating, где создается ChildGrid.Пробовал то же самое с аргументом RowCommand тоже.Но не сработало.Пожалуйста, кто-нибудь, помогите мне, как вызвать rowUpdate или rowcommand для динамически создаваемой сетки.

NewDg.RowDataBound += new GridViewRowEventHandler(NewDg_RowDataBound);
NewDg.RowUpdating += new GridViewUpdateEventHandler(NewDg_RowUpdating);
NewDg.RowEditing += new GridViewEditEventHandler(NewDg_RowEditing);
NewDg.RowCommand += new GridViewCommandEventHandler(NewDg_RowCommand);

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 08 ноября 2011

Где вы добавляете EventHandlers?Помните, что для динамически создаваемых элементов управления EventHandlers необходимо добавить в Page_Init / PreInit, чтобы .net мог видеть вызываемое событие.

0 голосов
/ 08 ноября 2011

Попробуйте использовать CommandField для столбца кнопки вместо TemplateField. Это, наверное, самое простое решение.

Я полагаю, что событие RowUpdating происходит, когда CommandName напоминает Update$RowIndex.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...