这个函数是DataGrid的删除函数(OnDeleteCommand)
protected void MyDataGrid_Delete(Object sender, DataGridCommandEventArgs E)

    if(条件满足)
    {
      删除;
    }
    else
    {
      return;
    }
    DataGrid1.EditItemIndex = -1;
    BindGrid(); 
}

解决方案 »

  1.   

    加入如下的代码就好啦:截获消息然后处理
    public override bool PreProcessMessage( ref Message msg ) 
     

     
         Keys keyCode = (Keys)(int)msg.WParam & Keys.KeyCode; 
     
         if(msg.Msg == WM_KEYDOWN 
     
              && keyCode == Keys.Delete 
     
              && ((DataView) this.DataSource).AllowDelete) 
     
         { 
     
              if(MessageBox.Show("Delete this row?", "", MessageBoxButtons.YesNo) == DialogResult.No) 
     
                   return true; 
     
         } 
     
         return base.PreProcessMessage(ref msg);