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 回答