当数据添加到网格的itemsource时,Winforms中的哪个覆盖会触发?

时间:2016-09-15 16:34:28

标签: c# winforms datagridview

我目前使用Onload(EventArgs e)来激活一个函数,该函数将迭代我的数据并根据值更改单元格的颜色,但是当我将数据添加到DataGridView的itemsource时,我不知道如何调用这个相同的函数

是否有覆盖来满足这种情况?

我目前用于OnLoad的示例:

protected override void OnLoad(EventArgs e)
{
    base.OnLoad(e);
    PaintSquares();
}

1 个答案:

答案 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>个事件。

此外,您可以依赖RowsAddedRowsRemovedCellValueChangedListChanged个活动。