如何根据 DevExpress 中的单元格项目更改 gridview 单元格颜色
how to change gridview cell color based on cell item in DevExpress
我的 ASPxGridView 正在从数据库加载大量数据。每次在网格上加载新数据时,我都会根据数据库中的资源将每种 Cellstyle 颜色显示为背景色。
我将在下面尝试阐明我想要实现的目标:
这是我试过的。它正在工作,但所有其他行仍然是System.Drawing.Color.Red.That我不想看到。
protected void ASPxGridViewTicketList_CustomUnboundColumnData(object sender, DevExpress.Web.ASPxGridViewColumnDataEventArgs e)
{
if (e.Column.Caption == "Status")
{
Object is_priority = e.GetListSourceFieldValue("ispriority");
if (is_priority.ToString() == "1")
{
e.Column.CellStyle.BackColor = System.Drawing.Color.Red;
}
else
{
e.Column.CellStyle.BackColor = System.Drawing.Color.AliceBlue;
}
}
}
你有解决办法吗?谢谢!
这是一个插图:
- 当条件状态为 if == 1 then RED else White 时,我想一遍又一遍地停止冷却颜色。在此图中,只有 1 行必须为红色 ,其他行必须为白色。但它不起作用。
我认为您试图在错误的地方更改背景颜色。 CustomUnboundColumnData 是更多与数据相关的事件。当你打电话给
e.Column.CellStyle.BackColor = System.Drawing.Color.Red;
在 CustomUnboundColumnData 期间,它为整列设置背景色,即所有状态单元格。
要为特定的未绑定单元格设置背景颜色,您需要处理特定于单元格的 'paint' 事件,例如 HtmlDataCellPrepared or row-specific event like HtmlRowCreated。
对于 HtmlDataCellPrepared 示例,请参阅此 post:https://www.devexpress.com/Support/Center/Question/Details/Q308988。这个例子应该很简单。您根据 e.DataColumn.FieldName 检查所需的列,并在 e.CellValue 中检查所需的列值,然后您可以确定是否将该行涂成红色。
我相信您将能够自己为上述事件添加处理程序。
HTH
我的 ASPxGridView 正在从数据库加载大量数据。每次在网格上加载新数据时,我都会根据数据库中的资源将每种 Cellstyle 颜色显示为背景色。
我将在下面尝试阐明我想要实现的目标:
这是我试过的。它正在工作,但所有其他行仍然是System.Drawing.Color.Red.That我不想看到。
protected void ASPxGridViewTicketList_CustomUnboundColumnData(object sender, DevExpress.Web.ASPxGridViewColumnDataEventArgs e)
{
if (e.Column.Caption == "Status")
{
Object is_priority = e.GetListSourceFieldValue("ispriority");
if (is_priority.ToString() == "1")
{
e.Column.CellStyle.BackColor = System.Drawing.Color.Red;
}
else
{
e.Column.CellStyle.BackColor = System.Drawing.Color.AliceBlue;
}
}
}
你有解决办法吗?谢谢!
这是一个插图:
- 当条件状态为 if == 1 then RED else White 时,我想一遍又一遍地停止冷却颜色。在此图中,只有 1 行必须为红色 ,其他行必须为白色。但它不起作用。
我认为您试图在错误的地方更改背景颜色。 CustomUnboundColumnData 是更多与数据相关的事件。当你打电话给
e.Column.CellStyle.BackColor = System.Drawing.Color.Red;
在 CustomUnboundColumnData 期间,它为整列设置背景色,即所有状态单元格。
要为特定的未绑定单元格设置背景颜色,您需要处理特定于单元格的 'paint' 事件,例如 HtmlDataCellPrepared or row-specific event like HtmlRowCreated。
对于 HtmlDataCellPrepared 示例,请参阅此 post:https://www.devexpress.com/Support/Center/Question/Details/Q308988。这个例子应该很简单。您根据 e.DataColumn.FieldName 检查所需的列,并在 e.CellValue 中检查所需的列值,然后您可以确定是否将该行涂成红色。
我相信您将能够自己为上述事件添加处理程序。
HTH