日期:2014-05-17  浏览次数:20767 次

紧急求助:DataGridView删除数据每次都会多删除一行,是什么问题
当提示对话框点击取消时,DataGridView会删除当前选中行,当点击确定时,DataGridView会删除当前选中行和选中行下面一行。我单步跟踪了一下,在这个函数结束后dataGridViewLightLevel.Rows中的数据还是正确的,不知道在什么地方又删除了一行。请大家帮忙看看
代码如下,使用的是VS2010+.Net Framework 4.0       
 void dataGridViewLightLevel_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
        {
            DialogResult diaR = MessageBox.Show("是否删除该行?","确认",MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
            if (diaR == DialogResult.OK)
            {
                //e.Cancel = false;
                foreach (DataGridViewRow r in dataGridViewLightLevel.SelectedRows)
                {
                    if (r.IsNewRow == false)
                    {
                        dataGridViewLightLevel.Rows.Remove(r);
                    }
                }
            }
        }

------解决方案--------------------
你不用写自己的删除代码,dgv已经自己触发删除操作了。
你再删除一行,当然是一下删除两行了。