0

私のアプリでは、データグリッドビューで大きな遅れがあります。毎秒ステータス メッセージで更新する必要があります。約 3000 行が datagridview にあります。

現在更新に使用しているコードは次のとおりです。

    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();
                       }
                       ));
    }

自動サイズ変更プロパティを削除して、ダブルバッファリングを有効にしようとしました..それでも非常に遅い

どのように私はそれをスピードアップすることができますか?

4

1 に答える 1

0

このままでは無理だと思います。3k 行は膨大な量の作業です。アプローチを変えてみることをお勧めします。

  • ユーザーが現在表示している行とスクロール用のバッファのみを表示します。ユーザーがスクロールしているときに動的読み込みを行います。
  • デルタ更新を行います。データの変更を検出し、新しい行を追加または挿入したり、データの変更に応じて必要なことを削除または実行したりします。すべてのデータを datagridview にバインドすることは避けてください。
于 2012-08-16T20:16:47.433 に答える