根据行数据更新DatagridView单元格背景颜色

嗨,我有一个DatagridView,我希望它根据每行中的数据更改背景颜色。

防爆。

| 人1 | 人2 | 人3 |

| —- —- 100 | — 200 —– | —– 150 —- |

| —- 300 —- | — 100 —– | —— 50 —- |

在第一行,我希望它使“100”具有红色背景颜色和“200”绿色。 要么。 最低值=红色最高=绿色

现在的问题是我使用BindingList作为我的数据,并使用INotifyPropertyChanged更新异步。 因此,每当其中一个值更新时,我需要一些检查方法。

DataGridView是否有任何有用的事件?

子类DataGridView并覆盖OnCellFormating(),在这里您可以检查单元格值并适当地设置颜色。

关于下面关于使用相应事件的评论,是的,你可以这样做,但虚拟方法具有更好的性能,子类化DataGridView在一个地方封装网格的所有行为。

不太确定这是否是最佳解决方案,但希望它有所帮助:为datagrid视图中的每个数据源项注册PropertyChanged事件。 在事件处理程序中,您可以根据更改的值执行所需的操作。
如果您使用数据源的绑定列表,请注册ListChanged以处理新项目。