DataSource更改之前的DataGridView事件

The*_*ing 3 .net c# datagridview

有没有我可以在DataGridView中触发DataSourceChanging事件.DataGridView具有DataSourceChanged事件(我相信)在DataSource绑定到DataGridView之后.我希望在属性改变之前做一些事情.

我的示例代码......

private void LoadGrid()
{
    //  I do some things like saving user settings here
    DtgRefundAssign.DataSource = BLL.GetDataSource(parameter1, parameter2); //Just to illustrate
    //  And restore them after the datasource is bound

}
Run Code Online (Sandbox Code Playgroud)

我需要以多种形式做类似的事情.只要数据源发生变化,只需考虑开发一个通用程序即可完成此任务.恢复部分可以使用DataSourceChanged事件完成...但是我应该处理哪个事件来执行保存部分?

Tri*_*dus 5

我自己没有这样做,但DataGridView没有密封,所以你应该能够创建一个继承它的新类.创建一个新的事件"DataSourceChanging",然后覆盖DataSource属性的Setter,以便它首先引发该事件,然后实际设置父类的属性.

然后,您只需使用datagridview代替默认值,并将保存逻辑连接到DataSourceChanging.