我有一個GridView,我在這裏列出客戶公司的值。例如,網格列出了公司名稱和價值。我想給一個淺灰背景顏色爲所有公司1的行,那麼白色爲公司2的行,然後返回到淺灰爲公司3的行和交替如此。通過交替行數據類型設置gridview行背景顏色
公司112
公司1 15
公司118
公司2 25
公司2 78
公司2 109
公司3 66
公司3 1
這能在_RowDataBound
事件簡單地完成,如果又如何?
我有一個GridView,我在這裏列出客戶公司的值。例如,網格列出了公司名稱和價值。我想給一個淺灰背景顏色爲所有公司1的行,那麼白色爲公司2的行,然後返回到淺灰爲公司3的行和交替如此。通過交替行數據類型設置gridview行背景顏色
公司112
公司1 15
公司118
公司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;
}
}
}