Hi,
You could try this, I have ran an example here and it works in my case but whether it works in your project I don't know.
What I did was create a method that populated the list and also a delegate that could be used to represent that method. The method just adds 100 records to a data table stored in a dataset. The datagridview is bound to this table.
Code Snippet
delegate void Fill();
public void OnFill()
{
for (int i = 0; i < 100; i++)
{
data.ExampleTable.AddExampleTableRow(i.ToString(),
"value");
Application.DoEvents();
System.Threading.
Thread.Sleep(100);
}
}
Then I created an instance of the delegate andused it inthe DataGridViews BeginInvoke method.
Code Snippet
Fill FillGrid = new Fill(OnFill);
this.dataGridView1.BeginInvoke(FillGrid);
The Datagridview slowly populates as the table fills up.