I'm using sqldatasource and a GridView.
I want to get the value of a cell from the GridView in the RowDataBound
event?, Because I can't use e.RowIndex
.
How to check in the updatng event if a cell is empty?
I used if != null
, but it didn't worked so I need to check if it's empty.
thanks
In the RowdataBound Event, you can get the value of a cell from gridview using the following Code:
[1]//getting username rfom particular row
string servicename = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "Name"));
In the RowUpdating event, you can check if cell is empty or not, by using following code:
string servicename = grdvw_showdetails.DataKeys[row.RowIndex][1].ToString();
Above code uses Datakey in the row updating event. if you don't want to use the datakey, the code to check specific cell is empty or not is
TextBox txtaname = (TextBox)row.FindControl("txt_updname");
if(txtaname.text != null)
EDIT:
This answer is excellent. However I would like to add a bit of a comment. When checking row cells data within RowDatabound
event, the row's DataItem
's ItemArray property is not directly accessible. So when we do something like this, it's pointless : string val = e.Row.Cells[2].Text.ToString();
and throws an error.
That's where the first line of this answer comes in.[1]
Following screen shows the tree/hierarchy of the Row's underlying properties when you do a watch at debug mode.