GridView格式问题

时间:2013-09-23 16:22:23

标签: c#

我正在使用C#网格视图中的一些代码,我可以根据值标记不同的颜色。我还希望通过改变红色背景的前景来更容易阅读。可能是一个愚蠢的问题,但我怎么能在代码中实现这一点,它将标志着背景色红色和前色白色?我尝试了几种方法,但在这里都没有成功。它可以正常使用或者我想在这里使用它们。

protected void grd_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        System.Data.DataRow row = ((System.Data.DataRowView)e.Row.DataItem).Row;
        if (row["Qty To Sell"].ToString() == "1")
            e.Row.BackColor = System.Drawing.Color.LightSalmon;
        else if (row["Qty To Sell"].ToString() == "3")
            e.Row.BackColor = System.Drawing.Color.LightSalmon;
        else if (row["Qty To Sell"].ToString() == "2")
            e.Row.BackColor = System.Drawing.Color.LightSalmon;
        else if (row["Qty To Sell"].ToString() == "0")
            e.Row.BackColor = System.Drawing.Color.Red;

1 个答案:

答案 0 :(得分:0)

我使用标签属性来执行此操作。

定义你的号码参数:

int two = 2;
int four = 4;
找到你的标签:

Label my_label = (Label)row.FindControl("your_label");

将该标签值转换为整数:

int lbl_value = Convert.ToInt32(my_label.Text);

然后在if语句中更改标签属性:

if ( lbl_value == two)
    { 
      my_label.BackColor = System.Drawing.Color.White; 
      my_label.Forecolor = System.Drawing.Color.Red;  
     }

等等。我喜欢只更改标签属性而不是整行。