How to get value of a cell in row data bound event? and how to check if a cell is empty?

41,469

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.

enter image description here

Share:
41,469
Alexander
Author by

Alexander

Updated on July 09, 2022

Comments

  • Alexander
    Alexander almost 2 years

    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

  • bonCodigo
    bonCodigo almost 10 years
    +1 to OP and @giri. I don't know what I would do if it wasn't for SO community. It's good to be born later it seems ;) when people have gone through these walls and found great answers :D I just udpated your answer to give some visual impact, if you don't mind.