您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。