0

使用 datagridview 在我的应用程序中有一些巨大的滞后。我需要每秒用状态消息更新它,datagridview 中有大约 3000 行。

我目前用来更新的代码是:

    private void UpdateProxies()
    {
        Invoke(new MethodInvoker(
                       delegate
                       {
                           this.dgvProxies.DoubleBuffered(true);
                           this.dgvProxies.SuspendLayout();
                           this.dgvProxies.DataSource = null;
                           this.dgvProxies.DataSource = this.Proxies;
                           this.dgvProxies.ResumeLayout();
                           this.dgvProxies.Refresh();
                       }
                       ));
    }

我试图删除 autoresize 属性并启用双缓冲.. 仍然非常滞后

有什么想法可以加快速度吗?

4

1 回答 1

0

我认为这样做是不可能的。3k 行是大量的工作。我建议你尝试改变方法。

  • 仅显示用户当前正在查看的行以及一些用于滚动的缓冲区。用户滚动时进行动态加载。
  • 进行增量更新。检测数据更改并添加新行或插入它,或删除或根据数据更改执行您需要执行的任何操作。避免将所有数据绑定到 datagridview。
于 2012-08-16T20:16:47.433 回答