您好,登錄后才能下訂單哦!
DataGridView的行數據在用鍵盤Delete刪除時,會觸發這個事件UserDeletingRow,由于項目具體要求要實現多選的刪除,這樣如果對于刪除數據進行提示會出現多次,顯然不符合要求;
我想到兩種方法:
1.KeyPree事件,捕獲Delete鍵,處理;
2.用DataGridView的UserDeletingRow事件,但是這樣會出現提示次數等于刪除的數據條數,不符合要求;經過探索找到一個方法,先貼代碼:
//刪除事件 private void dgvBreakLayer_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e) { DataGridViewSelectedRowCollection dr = dgvBreakLayer.SelectedRows; if (dr == null) { e.Cancel = true; } bool flag = MessageBox.Show("確認刪除選中數據嗎?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes; if (flag) { e.Cancel = true; for (int i = 0; i < dr.Count; i++) { dgvBreakLayer.Rows.RemoveAt(dr[i].Index); } dgvBreakLayer.ClearSelection(); } else { e.Cancel = true; } }
思路:在第一次觸發事件時,把選中的數據刪除掉,關鍵是將該事件的后續處理中斷,即:e.Cancel賦值為True
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。