private void DGW_Class_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
        {
            DialogResult dlResult = MessageBox.Show(this, "要删除选中的条记录吗?", "请确认",
                MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
            if (dlResult == DialogResult.Yes)
            {
                DGW_Class.Focus();
                SendKeys.Send("{DEL}");
                this.DataAdapter.Update(DS, "res_class");
            }
        }我这样写,每删除一行需要确认一次,我想做成确认一次全都删除的效果。谢谢。

解决方案 »

  1.   


    for (int i = DGW_Class.SelectedRows.Count - 1; i >= 0; i--)
       DGW_Class.Rows.RemoveAt(DGW_Class.SelectedRows[i].Index);
      

  2.   

    用楼上的方法,提示 “未处理IndexOutOfRangeException”在位置 0 处没有任何行。
      

  3.   

    UserDeletingRow事件每删除一行执行一次。
      

  4.   

    TO:我这样写,每删除一行需要确认一次,我想做成确认一次全都删除的效果。谢谢。try..this.dataGridView1.AllowUserToAddRows = false;
                while (this.dataGridView1.Rows.Count != 0)
                {
                    this.dataGridView1.Rows.RemoveAt(0);
                }
      

  5.   

    this.dataGridView1.AllowUserToAddRows = false;是不允许用户增加新行,也就是将最后的空行去掉了..这样删除就不会有异常了...