我目前使用Onload(EventArgs e)
来激活一个函数,该函数将迭代我的数据并根据值更改单元格的颜色,但是当我将数据添加到DataGridView的itemsource时,我不知道如何调用这个相同的函数
是否有覆盖来满足这种情况?
我目前用于OnLoad
的示例:
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
PaintSquares();
}
答案 0 :(得分:1)
您不需要在行和单元格之间进行迭代来格式化它们,它足以使用CellFormatting
的{{1}}事件:
DataGridView
如果由于任何原因您想要使用某些更改事件,则数据源的ListChanged
事件是检测更改发生的合适事件。 void grid_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0)
return;
if (string.Format("{0}", e.Value) == "OK")
{
e.CellStyle.BackColor = Color.Red;
}
}
和BindingSource
(您正在使用的 - 基于您之前的问题)都有BindingList<T>
个事件。
此外,您可以依赖RowsAdded
,RowsRemoved
和CellValueChanged
等ListChanged
个活动。