我想根據某些條件更改gridview的特定行顏色,我使用ASP.NET和c#。謝謝。根據條件更改GridView的行顏色
34
A
回答
41
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
e.Row.Attributes.Add("style", "cursor:help;");
if (e.Row.RowType == DataControlRowType.DataRow && e.Row.RowState == DataControlRowState.Alternate)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='orange'");
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#E56E94'");
e.Row.BackColor = Color.FromName("#E56E94");
}
}
else
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='orange'");
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='gray'");
e.Row.BackColor = Color.FromName("gray");
}
//e.Row.Cells[0].BackColor = Color.FromName("gray");
//e.Row.Cells[1].BackColor = Color.FromName("gray");
//e.Row.Cells[2].BackColor = Color.FromName("gray");
//e.Row.Cells[3].BackColor = Color.FromName("gray");
//e.Row.Cells[4].BackColor = Color.FromName("gray");
//e.Row.BorderWidth = 2;
//e.Row.BorderColor = Color.FromName("#43C6DB");
}
}
8
爲您的GridView創建GridView1_RowDataBound
事件。
//Check if it is not header or footer row
if (e.Row.RowType == DataControlRowType.DataRow)
{
//Check your condition here
If(Condition True)
{
e.Row.BackColor = Drawing.Color.Red // This will make row back color red
}
}
19
protected void DrugGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
// To check condition on integer value
if (Convert.ToInt16(DataBinder.Eval(e.Row.DataItem, "Dosage")) == 50)
{
e.Row.BackColor = System.Drawing.Color.Cyan;
}
}
-4
\\loop throgh all rows of the grid view
if (GridView1.Rows[i - 1].Cells[4].Text.ToString() == "value1")
{
GridView1.Rows[i - 1].ForeColor = Color.Black;
}
else if (GridView1.Rows[i - 1].Cells[4].Text.ToString() == "value2")
{
GridView1.Rows[i - 1].ForeColor = Color.Blue;
}
else if (GridView1.Rows[i - 1].Cells[4].Text.ToString() == "value3")
{
GridView1.Rows[i - 1].ForeColor = Color.Red;
}
else if (GridView1.Rows[i - 1].Cells[4].Text.ToString() == "value4")
{
GridView1.Rows[i - 1].ForeColor = Color.Green;
}
3
此方法同時修改後的顏色(暗紅色)和文本(白色)如果一個特定的字符串(「TextToMatch」)中的列之一發生:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.Cells[8].Text.Equals("TextToMatch"))
{
e.Row.BackColor = System.Drawing.Color.DarkRed;
e.Row.ForeColor = System.Drawing.Color.White;
}
}
或者另一種方式來寫它:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.Cells[8].Text.Equals("TextToMatch"))
{
e.Row.Attributes.CssStyle.Value = "background-color: DarkRed; color: White";
}
}
0
或者,您可以將行DataItem強制轉換爲類,然後根據類屬性添加條件。下面是我用行轉換爲一個名爲TimetableModel類/模型,然後在if語句可以訪問所有類字段/屬性的示例:
protected void GridView_TimeTable_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
var tt = (TimetableModel)(e.Row.DataItem);
if (tt.Unpublsihed)
e.Row.BackColor = System.Drawing.Color.Red;
else
e.Row.BackColor = System.Drawing.Color.Green;
}
}
}
相關問題
- 1. 根據條件更改行的顏色
- 2. 根據條件更改行顏色
- 3. 根據某些條件更改Gridview行顏色而不使用rowdatabound事件
- 4. 根據值更改條的顏色
- 5. 根據數據更改gridview中一行的顏色
- 6. 我想根據條件更改表格的行顏色
- 7. kendo treeList - 根據一定條件更改子行的顏色
- 8. 如何根據行值有條件地更改背景顏色
- 9. 根據條件在C#中更改行顏色
- 10. 如何根據條件語句更改gridview單元格的背景顏色?
- 11. 根據值更改顏色
- 12. 根據值更改顏色
- 13. Datatables:根據單元更改行顏色
- 14. QTableView根據值更改行顏色
- 15. 根據條件更改列表框項目的顏色
- 16. AngularJS:根據條件ng-grid更改單元格的顏色
- 17. 如何根據ErrorMessage()方法更改Gridview的文本顏色?
- 18. 根據datatable中的某些條件給出gridview顏色
- 19. Android導航欄根據條件自動更改顏色
- 20. 根據條件是否反應更改文本顏色
- 21. 根據JasperReports中的條件更改文本字段數據顏色(前景色)
- 22. GridView組行和更改顏色
- 23. Gridview根據日期更改背景顏色
- 24. 如何根據EXTJS中的某些條件更改行背景顏色
- 25. 根據條形顏色更改高聳的工具提示顏色
- 26. 如何根據jqplot中的閾值更改條的顏色?
- 27. 根據HighCharts中的值更改樣條線的顏色
- 28. 如何根據條件改變gridview單元格顏色使用C#
- 29. 根據JSON的顏色值更改div的顏色
- 30. Highcharts根據值動態更改條的顏色
而不是修改的`Row`屬性等,這是多少更好地創建兩個css類並且只修改`e.Row.CssClass`。簡單的代碼可以更好地分離邏輯和視圖。 – 2015-12-14 11:43:11