0

私は大量のデータセットを扱っており、それらを DataGridView に格納しているため、ユーザーはそのデータをアプリケーションで表示し、データベースに保存する前に操作できます。ユーザーが保存ボタンを押すまで、データベースには何も保存されません。

ユーザーは、削除キーを押して複数の行を削除することができます。これは、数行だけであれば問題なく機能します。彼らが数千を削除したい場合はどうなりますか? その多数の行を削除するには時間がかかりすぎます。

これは私が現在それらを削除している方法です:

  foreach (DataGridViewRow row in dgv.SelectedRows)
       dgv.Rows.Remove(row);

これらの行をすべて一気に削除する方法はありますか? 基本的に Clear 関数のようなものですが、削除する行のリストを指定します。

4

1 に答える 1

-1

SuspendLayout と ResumeLayout を使用して GUI 更新を無効にしてみてください。

dgv.SuspendLayout();
foreach (DataGridViewRow row in dgv.SelectedRows)
{
    dgv.Rows.Remove(row);
}
dgv.ResumeLayout();
于 2013-09-25T20:01:48.943 に答える