您好,登錄后才能下訂單哦!
DataGridView的行數(shù)據(jù)在用鍵盤(pán)Delete刪除時(shí),會(huì)觸發(fā)這個(gè)事件UserDeletingRow,由于項(xiàng)目具體要求要實(shí)現(xiàn)多選的刪除,這樣如果對(duì)于刪除數(shù)據(jù)進(jìn)行提示會(huì)出現(xiàn)多次,顯然不符合要求;
我想到兩種方法:
1.KeyPree事件,捕獲Delete鍵,處理;
2.用DataGridView的UserDeletingRow事件,但是這樣會(huì)出現(xiàn)提示次數(shù)等于刪除的數(shù)據(jù)條數(shù),不符合要求;經(jīng)過(guò)探索找到一個(gè)方法,先貼代碼:
//刪除事件 private void dgvBreakLayer_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e) { DataGridViewSelectedRowCollection dr = dgvBreakLayer.SelectedRows; if (dr == null) { e.Cancel = true; } bool flag = MessageBox.Show("確認(rèn)刪除選中數(shù)據(jù)嗎?", "提示", 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; } }
思路:在第一次觸發(fā)事件時(shí),把選中的數(shù)據(jù)刪除掉,關(guān)鍵是將該事件的后續(xù)處理中斷,即:e.Cancel賦值為T(mén)rue
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。