DataGridView在大数据更新时滞后一秒钟

时间:2009-12-15 18:13:00

标签: c# datagridview repaint lag

我有一个大约有400行和10列的DataGridView。当用户首次显示此表时,它将从服务器接收所有数据并填充该表。 DGV使用DataTable作为它的数据源,在更新DataTable时我使用row.BeginEdit / EndEdit和acceptChanges,但是当View本身更新时,它会在所有DGV都被更新时滞后一秒钟。我想知道是否有办法使这个顺利,所以例如,如果用户滚动数据并且它更新,它将不会中断滚动。或者,如果用户正在屏幕上移动显示并更新,则不会中断。是否有捷径可寻?如果没有,是否会阻止DGV更新视图,直到所有事件都结束,因此在用户停止滚动,拖动等之前不会重新绘制它?

3 个答案:

答案 0 :(得分:0)

过去我发现慢度问题可能与自动调整大小属性有关。以下是一些更多的想法:Quick fixes for slow DataGridView

答案 1 :(得分:0)

我想到的第一个想法是使用BackgroundWorker。然后,当您的BackgroundWorker更新时,它不会占用主线程,即您的GUI线程。

答案 2 :(得分:0)

尝试运行调试器/分析器以确定哪个部分是减速的实际原因。一旦你弄清楚哪条线是罪魁祸首就会更容易回答这个问题。