根据条件更改行的颜色

时间:2013-12-19 09:49:34

标签: c# asp.net devexpress aspxgridview

我想根据某些条件更改gridview的特定行颜色,我使用带有c#的ASP.NET。

我知道我可以使用HTMLCellPrepared方法,但在我的方法中我想看看其他网格的值?这可能吗?

    protected void GVResults_HtmlDataCellPrepared(object sender, ASPxGridViewTableDataCellEventArgs e)
    {
        if (e.DataColumn.FieldName == "CarrierId")
            if ( Convert.ToInt32(e.CellValue) > 0)
                e.Cell.ForeColor = System.Drawing.Color.Red;            
    }

这是该方法的第一部分,但我想查看其他网格中的值,以便对此网格进行可视化更改。问题是我不知道如何从其他网格访问值....

2 个答案:

答案 0 :(得分:4)

我建议你使用htmlrowprepared事件进行行的条件着色。

根据您编写的代码,以下示例可以帮助您:

protected void GVResults_HtmlRowPrepared(object sender, ASPxGridViewTableRowEventArgs e)
    {
        if (e.RowType != GridViewRowType.Data) return;
        int value = (int)e.GetValue("CarrierId");
        if (value > 0)
            e.Row.ForeColor = System.Drawing.Color.Red;
    }

参考:
Changing ASPxGridView Cell and Row Color on Condition

答案 1 :(得分:1)

如果样式依赖于数据并为该条件设置样式,则可以使用GridView的RowDataBound事件来检查条件。

Here is an example