private void FillRealTimeData()
{
while (true)
{
RealTimeBusiness rtb = new RealTimeBusiness();
SetRealTimeDataSource(this.dgvRealTimeData ,rtb.GetRealTimeData());
Thread.Sleep(10000);
}
}
private delegate void SetRealTimeDataSourceCallback(DataGridView dgv,object datasource);
private void SetRealTimeDataSource(DataGridView dgv,object datasource)
{
// InvokeRequired required compares the thread ID of the
// calling thread to the thread ID of the creating thread.
// If these threads are different, it returns true.
if (dgv.InvokeRequired)
{
SetRealTimeDataSourceCallback callback = new SetRealTimeDataSourceCallback(SetRealTimeDataSource);
this.Invoke(callback, new object[] { dgv,datasource });
}
else
{
dgv.DataSource = datasource;
}
}