知道何时完成DataBinding

本文关键字:DataBinding 何时完 | 更新日期: 2023-09-27 18:30:07

我在应用程序中使用了System.ComponentModel.BindingList作为DataGridView.DataSource。该列表相当大,需要几秒钟才能绘制在DataGridView上。所以,我需要知道数据绑定(包括绘画)过程何时完成才能完成一些工作。我尝试了DataBindingComplete事件,但它发生在为DataSource属性设置值之后。

提前谢谢。


更新:

1.生成绑定列表[从数据库获取数据]► ~1秒

2.设置为DataSource[绑定]► ~1秒DataBindingComplete现在升起。)

3.绘画[DataGridView中显示数据]► ~5秒

知道何时完成DataBinding

这就像描述的一样简单!

bool bindingCompleted = false;
void Form1_Load(object sender, EventArgs e)
{
    dataGridView1.DataSource = bindingList1;
}
void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
    bindingCompleted = true;
}
void dataGridView1_Paint(object sender, PaintEventArgs e)
{
    if (bindingCompleted)
    {
       bindingCompleted = false;
       // do some stuff.. 
    }
}