通过按行数据类型交替设置 gridview 行背景颜色
Setting gridview row background colour by alternating by row data type
我有一个 GridView,我在其中列出了客户公司的值。以列出公司名称和值的网格为例。我想为 Company 1 的所有行提供 浅灰色 背景颜色,然后 white 公司 2 的行,然后返回 浅灰色 公司 3 的行,交替进行所以。
公司 1 12
公司 1 15
公司 1 18
公司 2 25
公司 2 78
公司 2 109
公司 3 66
公司 3 1
这是否可以简单地在 _RowDataBound
事件中完成,如果可以,怎么做?
我成功地使用了这个问题
alternate color gridview rows based on change of cell value asp.net
在 C# 中创建我自己的解决方案。所以基本上,创建两个全局变量。然后在 _RowDatabound 中执行以下操作
int customerCompanyID = Convert.ToInt32(dr["IRPCustomerID"]);
if (customerCompanyID != this._trafficSourceGridCurrentCompanyID)
{
if (this._trafficSourceGridGroupingCssClass ==
"BackGround2")
{
this._trafficSourceGridGroupingCssClass = "BackGround1";
}
else
{
this._trafficSourceGridGroupingCssClass = "BackGround2";
}
this._trafficSourceGridCurrentCompanyID = customerCompanyID;
}
e.Row.CssClass = _trafficSourceGridGroupingCssClass;
在 RowDataBound
事件中你可以这样做:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
// check if its not a header or footer row
if (e.Row.RowType == DataControlRowType.DataRow)
{
// get value from first cell of gridview
string companyName = e.Row.Cells[0].Text;
switch (companyName)
{
case "Company 1":
e.Row.BackColor = System.Drawing.Color.LightGray;
break;
case "Company 2":
e.Row.BackColor = System.Drawing.Color.White;
break;
case "Company 3":
e.Row.BackColor = System.Drawing.Color.LightGray;
break;
default:
break;
}
}
}
我有一个 GridView,我在其中列出了客户公司的值。以列出公司名称和值的网格为例。我想为 Company 1 的所有行提供 浅灰色 背景颜色,然后 white 公司 2 的行,然后返回 浅灰色 公司 3 的行,交替进行所以。
公司 1 12
公司 1 15
公司 1 18
公司 2 25
公司 2 78
公司 2 109
公司 3 66
公司 3 1
这是否可以简单地在 _RowDataBound
事件中完成,如果可以,怎么做?
我成功地使用了这个问题
alternate color gridview rows based on change of cell value asp.net
在 C# 中创建我自己的解决方案。所以基本上,创建两个全局变量。然后在 _RowDatabound 中执行以下操作
int customerCompanyID = Convert.ToInt32(dr["IRPCustomerID"]);
if (customerCompanyID != this._trafficSourceGridCurrentCompanyID)
{
if (this._trafficSourceGridGroupingCssClass ==
"BackGround2")
{
this._trafficSourceGridGroupingCssClass = "BackGround1";
}
else
{
this._trafficSourceGridGroupingCssClass = "BackGround2";
}
this._trafficSourceGridCurrentCompanyID = customerCompanyID;
}
e.Row.CssClass = _trafficSourceGridGroupingCssClass;
在 RowDataBound
事件中你可以这样做:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
// check if its not a header or footer row
if (e.Row.RowType == DataControlRowType.DataRow)
{
// get value from first cell of gridview
string companyName = e.Row.Cells[0].Text;
switch (companyName)
{
case "Company 1":
e.Row.BackColor = System.Drawing.Color.LightGray;
break;
case "Company 2":
e.Row.BackColor = System.Drawing.Color.White;
break;
case "Company 3":
e.Row.BackColor = System.Drawing.Color.LightGray;
break;
default:
break;
}
}
}