Question: I have a table with three columns (ProdID,ProdName,Status). I m fetching that into a dataSet and binding that to my gridview. I have a very basic and simple rowdatabound event like this :

```
 protected void gvProducts_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            if (e.Row.Cells[2].Text == "False")
            {
                e.Row.BackColor = System.Drawing.Color.PaleVioletRed;
            }
        }
    }

```

But when i see my 3rd column (Status), it is converted to a checkbox, may be becz its containing only 'True' or 'False'. Also in my if condition :

```
if (e.Row.Cells[3].Text == "False")

```

the text value is showing this :

> 
> ""
> 
> 
> 

Can anybody suggest me, how can i compare my status against True or False in my if condition.

Answer: 
you can try like...

```
if (((CheckBox)e.Row.Cells[3]).Checked == false)

```

OR, event better if you do like..

```
 if(((CheckBox)e.Row.FindControl("YourCheckboxID")).Checked == false)

```

**Edit:** since you are using RowDataBound Event, in which at that time row don't have what you are finding. you need to do this like...

```
DataRow dr = ((DataRowView)e.Item.DataItem).Row;
if (Convert.ToBoolean(dr["Status"]) == false)

```
If the Status column is a bunch of checkboxes, then test whether the checkbox's `Checked` property is `true` or `false`.