从datagridview中删除所有选定的行

时间:2018-02-28 19:25:19

标签: c# .net winforms visual-studio 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 + "\n" + ex.ToString()); }
        finally { UpdateTable(); }

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

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

如果您需要更多详细信息,请与我们联系。

先谢谢你们!

1 个答案:

答案 0 :(得分:1)

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

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