0

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

4

3 回答 3

0

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

于 2010-10-20T13:58:06.433 回答
0

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

于 2010-10-20T14:07:47.233 回答
0

在过去,我发现缓慢问题可能与自动调整大小属性有关。这里还有一些想法:快速修复缓慢的 DataGridView

于 2009-12-15T18:30:23.390 回答