You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据数值条件修改UltraGrid中单个单元格的背景色?

实现方案

Infragistics UltraGrid 支持单元格级别的样式自定义,可通过InitializeRow事件实现单单元格背景色修改,无需整行/整列设置。

C# 实现

首先绑定UltraGrid的InitializeRow事件,事件处理逻辑如下:

private void ultraGrid1_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e)
{
    // 将TargetColumn替换为你实际需要处理的列Key
    var cell = e.Row.Cells["TargetColumn"];

    // 判定单元格值非空且不等于0
    if (cell.Value != null && cell.Value != DBNull.Value && Convert.ToInt32(cell.Value) != 0)
    {
        cell.Appearance.BackColor = Color.Yellow;
    }
}

VB.NET 实现

Private Sub UltraGrid1_InitializeRow(sender As Object, e As Infragistics.Win.UltraWinGrid.InitializeRowEventArgs) Handles UltraGrid1.InitializeRow
    ' 将TargetColumn替换为你实际需要处理的列Key
    Dim cell As Infragistics.Win.UltraWinGrid.UltraGridCell = e.Row.Cells("TargetColumn")

    ' 判定单元格值非空且不等于0
    If cell.Value IsNot Nothing AndAlso cell.Value IsNot DBNull.Value AndAlso Convert.ToInt32(cell.Value) <> 0 Then
        cell.Appearance.BackColor = Color.Yellow
    End If
End Sub

注意事项

  • 如果目标列的数据类型不是整数,需要把Convert.ToInt32替换为对应类型的转换方法,例如小数用Convert.ToDecimal
  • 如果需要对所有列生效,遍历e.Row.Cells集合逐个处理即可
  • 运行时修改单元格数据后,样式会自动刷新无需手动触发重绘

内容的提问来源于stack exchange,提问作者user17151986

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 05:24:02