我有一个绑定到数据表的wingrid。我创建了一个新的异步线程,并从该线程进行远程服务器调用传递数据表。当服务器调用完成后,wingrid会自动刷新以显示任何更改。但是,由于这不是在程序的主UI线程上完成的,因此我们经常会遇到一个错误,控件变为whilte并且其中会出现一个大的红色X.
是否有标志将wingrid设置为在数据源更改时不自动升级?我想在远程服务器调用之前将其关闭,并在我回到主线程后再次打开它。
答案 0 :(得分:2)
解决方案是使用
Grid1.BeginUpdate()
在异步方法之前。此方法可防止网格绘制。然后使用
Grid1.EndUpdate()
异步方法完成后,在UI线程上。
答案 1 :(得分:0)
我认为你想要的是:
Grid1.SuspendRowSynchronization()
然后,完成后:
Grid1.ResumeRowSynchronization()