我一直在研究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

10-06 06:54