我有一个包含三列(ProdID,ProdName,Status)的表。我将其提取到dataSet中,并将其绑定到我的gridview中。我有一个非常基本和简单的rowdatabound事件,如下所示:
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;
}
}
}
但是,当我看到我的第三列(状态)时,它会转换为复选框,可能是因为它仅包含“ True”或“ False”。同样在我的if条件中:
if (e.Row.Cells[3].Text == "False")
文本值显示如下:
”
有人可以建议我吗,如果条件允许,我该如何比较我的身份与真或假。
最佳答案
你可以尝试...
if (((CheckBox)e.Row.Cells[3]).Checked == false)
或者,如果您喜欢的话,活动会更好。
if(((CheckBox)e.Row.FindControl("YourCheckboxID")).Checked == false)
编辑:由于您正在使用RowDataBound事件,在那个时候行没有您要查找的内容。你需要这样做...
DataRow dr = ((DataRowView)e.Item.DataItem).Row;
if (Convert.ToBoolean(dr["Status"]) == false)
关于c# - 如何在rowdatabound事件的网格 View 中检查状态(真/假)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5025744/