C# · 12月 25, 2021

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

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

防爆.

|人1 |人2 |人3 |

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

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

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

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

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

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

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