DataGridViewUserDeletingRow事件提示控制-创新互联
DataGridView的行数据在用键盘Delete删除时,会触发这个事件UserDeletingRow,由于项目具体要求要实现多选的删除,这样如果对于删除数据进行提示会出现多次,显然不符合要求;
创新互联公司长期为上千多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为苏尼特左企业提供专业的成都网站制作、网站设计,苏尼特左网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。我想到两种方法:
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
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网站标题:DataGridViewUserDeletingRow事件提示控制-创新互联
转载来于:http://azwzsj.com/article/cecdjs.html