Как получить значение ячейки в событии привязки данных строки? и как проверить, что ячейка пуста?


Я использую sqldatasource и GridView. Я хочу получить значение ячейки из GridView в событии RowDataBound?, Потому что я не могу использовать e.RowIndex.

Как проверить событие updatng, если ячейка пуста? Я использовал if != null, но он не работал, поэтому мне нужно проверить, пуст ли он.

Спасибо

1 10

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)

Редактировать:

Это ответ отличный. Однако я хотел бы добавить немного комментария. При проверке данных ячеек строки в событии RowDatabound свойство ItemArray строки DataItem недоступно напрямую. Поэтому, когда мы делаем что-то подобное, это бессмысленно : string val = e.Row.Cells[2].Text.ToString(); и выдает ошибку.

Вот тут-то и появляется первая строка этого ответа.[1]

Следующий экран показывает дерево / иерархию базовых свойств строки, Когда вы выполняете наблюдение в режиме отладки.

Введите описание изображения здесь