Как получить значение ячейки в событии привязки данных строки? и как проверить, что ячейка пуста?
Я использую sqldatasource и GridView.
Я хочу получить значение ячейки из GridView в событии RowDataBound
?, Потому что я не могу использовать e.RowIndex
.
Как проверить событие updatng, если ячейка пуста?
Я использовал if != null
, но он не работал, поэтому мне нужно проверить, пуст ли он.
Спасибо
1 ответ:
В событии RowdataBound можно получить значение ячейки из gridview, используя следующий код:
[1]//получение имени пользователя rfom конкретной строки
string servicename = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "Name"));
В событии RowUpdating можно проверить, пустая ячейка или нет, используя следующий код:
string servicename = grdvw_showdetails.DataKeys[row.RowIndex][1].ToString();
Выше код использует Datakey в событии обновления строки. если вы не хотите использовать datakey, код для проверки конкретной ячейки пуст или нет -
TextBox txtaname = (TextBox)row.FindControl("txt_updname"); if(txtaname.text != null)
Редактировать:
Это ответ отличный. Однако я хотел бы добавить немного комментария. При проверке данных ячеек строки в событии
Вот тут-то и появляется первая строка этого ответа.[1]RowDatabound
свойство ItemArray строкиDataItem
недоступно напрямую. Поэтому, когда мы делаем что-то подобное, это бессмысленно :string val = e.Row.Cells[2].Text.ToString();
и выдает ошибку.Следующий экран показывает дерево / иерархию базовых свойств строки, Когда вы выполняете наблюдение в режиме отладки.