我一直在研究GridViews的条件格式,但是对于ASP.Net来说我是新手,并且很难过。这是我发现对我来说最有意义的代码:
protected void GridviewRowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
int CellValue = Convert.ToInt32(e.Row.Cells[2].Text);
if (CellValue >= 0)
{
e.Row.Cells[2].BackColor = System.Drawing.Color.Green;
}
if (CellValue < 0)
{
e.Row.Cells[2].BackColor = System.Drawing.Color.Red;
}
}
}
GridView非常简单:标题行和三列,标题下一行,每一列中都有货币金额。我只需要第二行第三列上的数据单元格,如果> = 0则为绿色,如果
我在int CellValue =行上得到了不正确的格式。
最佳答案
尝试将您的int CellValue =
行替换为以下一行
int CellValue = Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "Difference"));
引用:
http://www.johnchapman.name/asp-net-c-change-gridview-cell-background-color-based-on-value/
http://msdn.microsoft.com/en-us/library/4hx47hfe.aspx