日期:2014-05-20  浏览次数:20778 次

DataGridView的删除问题!紧急求助
我需要设定条件删除DataGridView表格中的某些编号值相同的行,这编号值相同的行可能有一行,也可能有两行、三行或多行,我编写了以下语句来删除,但是发现只能删除前面的几行,最后一行始终删除不掉:

int   z_xh   =   Convert.ToInt32(this.dataGridView1.CurrentRow.Cells[ "xh "].Value.ToString().Trim());     //记录编号值,以便删除该编号的所有行数据
                                     
for   (int   i   =   this.dataGridView1.CurrentRow.Index;   i   <=   this.dataGridView1.Rows.Count-1;i++)   //查找所有编号值为z_xh的行,找到后删除
{
      if   (Convert.ToInt32(this.dataGridView1.Rows[i].Cells[ "xh "].Value.ToString().Trim())   ==   z_xh)
              {
                this.dataGridView1.Rows.Remove(this.dataGridView1.Rows[i]);                

              }
}


------解决方案--------------------
if (Convert.ToInt32(this.dataGridView1.Rows[i].Cells[ "xh "].Value.ToString().Trim()) == z_xh)
{
this.dataGridView1.Rows.Remove(this.dataGridView1.Rows[i]);
i--; // 加上这个

}