隐藏在gridview中显示的某些文本

时间:2013-12-19 20:47:43

标签: c# .net gridview

我有一个绑定到我的gridview的条件语句,它将检查传递的sql数据,如果有某个短语,则gridview单元格将变为粉红色。但如果文字没有,那么它将变为绿色。

以下是我到目前为止的陈述:

  if (dataItem != null)
            {
                var label = dataItem["Client"].FindControl("ClientLabel") as Label;
                if (label != null)
                {
                    var item = dataItem;
                    var text = label.Text;

                    if (text == "Complete") 
                    {
                        item["ClientServer"].BackColor = Color.Lime;

                    }
                    else if (text != "Complete") 
                    {
                        item["ClientServer"].BackColor = Color.Salmon;
                    }
                }

所以这样可以根据文字将单元格变为绿色或粉红色,但是有没有办法隐藏单词“完整”并仍然可以将单元格变成正确的颜色?

3 个答案:

答案 0 :(得分:0)

如何清除项目的文本属性(将其子项目文本设置为null)?如果你将来最终需要它,你可以将它存储在一个临时变量中。

答案 1 :(得分:0)

你有没有尝试过这种方法

Label label = dataItem["Client"].FindControl("ClientLabel") as Label;

if (text == "Complete") 
{
    item["ClientServer"].BackColor = Color.Lime;
    lable.visible = false;
}

答案 2 :(得分:0)

有一个类似的问题,包含以下链接的好例子:

Getting value from a cell from a gridview on RowDataBound event

 protected void GridView1_DataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            if (e.Row.Cells[0].Text.Contains("Complete"))
            {
                e.Row.Cells[1].BackColor = System.Drawing.Color.Lime;
            }
        }
    }

此致