Datagrid在删除行

时间:2013-10-02 05:15:06

标签: c#

我正在使用删除行索引来删除datagridview中的一行。

但是当删除一行时,datagridview会自动附加下一行

第一次删除任何索引然后删除它,但第二次删除第1行索引行

我正在使用此代码:

for (int i = 0; i < path.Length; i++)
{
    lpath.Add(path[i].ToString());
    dataGridView1.Rows.RemoveAt(int.Parse(arr[i]));
}

3 个答案:

答案 0 :(得分:1)

使用for循环

删除行后,必须减少'i'

请参阅以下代码

 for (int i = 0; i < path.Length; i++)
{
   lpath.Add(path[i].ToString());
  dataGridView1.Rows.RemoveAt(int.Parse(arr[i]));
  i--;  }

答案 1 :(得分:0)

for循环中增加 i 比减少它有点奇怪。为什么不添加项目而不是清除所有行?

for (int i = 0; i < path.Length; i++) {
    lpath.Add(path[i].ToString());
}
dataGridView1.Rows.Clear();

答案 2 :(得分:0)

正如我所看到的,你第一次将索引偏离dataGridView1

假设你有一个包含元素{1,2,3,4,5}的列表,如果我们现在删除索引3然后4我们最终删除3和5给我们列表{1,2,4}但我们想删除3和4不是3和5

我认为您想要做的是获取要删除的所有索引,然后对它们进行排序并从上到下删除,而不是按顺序删除3和4,删除4和3给我们列表{ {1}}

{1,2,5}