从datagridview中删除所有选定的行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从datagridview中删除所有选定的行相关的知识,希望对你有一定的参考价值。

我正在使用datagridview在Windows窗体上查看SQL表,我希望能够使用它来从SQL表中添加/删除行。

我使用以下代码从datagridview中删除选定的行:

        try
        {
            int count = dataGridView.SelectedRows.Count;

            foreach (DataGridViewRow item in dataGridView.SelectedRows)
            {
                TA.DeleteQuery(item.Cells[0].Value.ToString());
            }
        }
        catch (Exception ex) { Logs.LogEvent(3, ex.Message + "
" + ex.ToString()); }
        finally { UpdateTable(); }

此代码删除除选定的第一行以外的所有行。当我逐步执行代码时,dataGridView选择的行计数会继续显示一个小于所选值的值,这是我所期望的,但是foreach循环只迭代3次。当我使用for循环迭代4次时,它给了我一个超出范围的错误!

你有没有想过为什么会这样,如果有更好的方法来解决这个问题?

如果您需要更多详细信息,请告诉我们。

先谢谢你们!

答案

这个问题可能是我正在使用的视觉工作室版本的一个错误。当我将版本升级到15.5.7(我记不起它之前是什么版本)时,问题就消失了。这可能是其他人无法重现此问题的原因。

这是我一直想到的东西,但我想用尽所有其他选择。

以上是关于从datagridview中删除所有选定的行的主要内容,如果未能解决你的问题,请参考以下文章

从datagridview值中删除数据库中的行

从数据网格视图和数据库中删除选定的行

csharp 从DataGridView获取选定的行

Binded DataGridView仅更新当前选定的行

c#在datagridview中删除指定行并更新到数据库

如何在datagridview中显示选定的行到crystal报表