2010-11-29 2 views
0

Я немного новичок в Asp.net GridView, и я столкнулся со следующей проблемой. У меня есть сетка, помещенная в ascx. Этот ascx динамически загружается внутри aspx, в методе Page_Init Control control = LoadControl ("~/grid.ascx"); PlaceHolder1.Controls.Add (control);GridView в asp.net

Сетка привязана к IList (который заполняется с уровня доступа к данным). У меня есть поле кнопки в сетке, которое используется для вызова функции удаления в слое DA для строки (выполняет этот вызов в GridView1_RowCommand()).

Мой вопрос: я не вижу, чтобы вид сетки обновлялся после выполнения удаления. Я поместил код для повторного чтения и привязки данных к gridview во многих местах, но ни один из них не работает.

Примечания: 1. Загрузка ASCX делается в Ajax вызова для ASPX 2. Удаление функции фактически изменяет столбец «Статус» «User» в «Удаленные», который мне нужно видеть в GridView after I do so

Не могли бы вы помочь мне?

Редактировать: Кажется, что событие RowDataBound запускается (для каждой строки, конечно) после загрузки страницы, а затем срабатывает только событие команды кнопки. Хотя я установил модифицированные DS и DataBind в gridview, он никогда не запускает RowDataBound впоследствии. Любая идея почему? Спасибо заранее.

Ануруддха

ответ

0

вам нужно привязать сетку в GridView1_RowCommand() с новым источником данных еще раз

+0

Спасибо Али за ответ. Это работает в тестовом тесте, который я сделал, но не в приложении, над которым я работаю. Интересно, в чем разница. Кажется, что независимо от того, что я изменяю в источнике данных, gridview отображает то же самое. Кажется, он принимает значения из viewstate. Интересно, какая ошибка :( – Anuruddha 2010-12-01 02:00:59