如何设置网格视图单元格值颜色?

时间:2015-10-26 08:42:22

标签: c# asp.net gridview

我有一个通过存储过程动态填充的网格视图

我想问一下如何在填充gridview时循环遍历每一行并设置column17的值的颜色? 例如,对于1到20之间的值范围,我希望颜色为绿色,21-40之间的值为橙色,41 - 60为红色?

我填写gridview的代码:

using (SqlCommand cmd = new SqlCommand(spretrieve, conn))
                {
 cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.Add("@param1", SqlDbType.VarChar).Value = DATE;
                        cmd.Parameters.Add("@param2", SqlDbType.VarChar).Value = Key;
string query = cmd.CommandText;

conn.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
Gridview1.DataSource = ds.Tables[0];
Gridview1.DataBind();

2 个答案:

答案 0 :(得分:1)

您可以使用gridview的RowDataBound事件: -

 protected void Gridview1_RowDataBound(object sender, GridViewRowEventArgs e)
 {
      if (e.Row.RowType == DataControlRowType.DataRow)
       {
           e.Row.Cells[16].BackColor = System.Drawing.Color.Green;
       }
 }

这将设置列17中的所有行的背景颜色(我使用16,因为它基于零索引)到绿色除了标题。如果您还想设置标题的颜色,请不要检查DataRow条件。

此外,如果您想要从1-20列那样为几个范围着色,那么您可以使用for循环。

答案 1 :(得分:0)

我说要使用

Row[xx].Cells[xx].BackColor = System.Drawing.Color.xxx

在行的数据绑定事件中。您可以在网上查找可用的颜色。

希望有所帮助

相关问题