winform中删除之前的确认问题(在线等,马上给分) winform c# datagrid选中一行后按“删除”键直接会删掉,不知怎样在删除前提示一下。我试了捕捉datagrid的键盘和鼠标事件,但都不是很合适。看之前的帖子,发现一个dataGrid2_BeforeDelete事件,应该可以。但不知怎么用,使用前要先绑定吗?完整做法是怎么样的?我加了怎么没反应?我的程序的本意是先判断本行其中两项是否相等,如不等就不让删除此行。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在这个事件前加个messagebox。确定就删除,取消就不删除 不是这个意思,messagebox在事件里,问题时我的事件根本没有触发 messagebox放在按钮的click事件里啊 MessageBox.Show(strErrMsg, strCaption, MessageBoxButtons.OKCANCEL,MessageBoxIcon.Exclamation) 没有按钮,直接按del就删除了。我想在按下del时给个提示。程序如下:private void dataGrid2_BeforeDelete (bool Cancel){ if (MessageBox.Show("是否真的删除此S/O?","确定操 作",MessageBoxButtons.YesNo,MessageBoxIcon.Question,MessageBoxDefaultButton.Button1)==DialogResult.Yes) Cancel = true; else Cancel = false;} 问题是这个事件没有在按del时触发. int i=this.dataGrid1.CurrentRowIndex; string str1=ds.Tables["Author"].Rows[i][0].ToString(); string str=ds.Tables["Author"].Rows[i][1].ToString(); DialogResult dr=MessageBox.Show("你真的要删除吗","类别录入",MessageBoxButtons.OKCancel,MessageBoxIcon.Exclamation); if(dr==DialogResult.OK) { SqlCommand comd=new SqlCommand(); comd.CommandText="delete from Author where AuthorName='"+str+"'"; comd.Connection=cn; cn.Open(); comd.ExecuteNonQuery(); // comd.CommandText="delete from Books where AuthorGuid='"+str1+"'";// comd.ExecuteNonQuery(); cn.Close(); 你首先必须选中DataGrid中的某一行,然后就回得到编号,继而可以删除,并可以显示对话框 各位老大,我说话是不是很不清楚,怎么所有人都理解错?我详细说一下。我有一个datagrid,正常情况下,选中一列,按键盘上的"del"键,就可以删除这一行,然后我有一个保存按钮,按下后就可以保存。但我现在想做到不是所有行都可以删,要在按下删除键后作个判断,如果条件不符就拒绝删除。因此有了之前的dataGrid2_BeforeDelete,按我理解,它应该在按下"del"后执行,但没有。不知该怎么使用。或用什么其他方法实现我的功能。拜谢! 设置datagrid中禁止删除,或datagrid的数据源(比例dataview)禁止删除(即按del无效),加一删除按钮,根据选定的datagrid行,判断是否符合删除条件,如不符合条件,使用messagebox告之,dataview不执行delete操作;如果符合条件根据选定的datagrid的index在dataview中删除,点击保存按钮可保存,如有撤消按钮也可将删除撤消。 取出法定假日! 请教一个正则表达式 在参数中,SqlDbType.Decimal 如何指定精度呢(共几位,小数占几位) 请问sqlcommand怎么插入不进去记录! C#大家都使用哪种UML配套建模工具? DevExpress中的TreeList,如何实现右键,对树结点重命名功能 保存问题 讨论:函数中定义变量,非得在函数开头吗? 怎么得到排序后的DataSet? 如何可以提取出html中的图片路径? 为什么我在NT Service中使用FindWindow, FindWindowEx系统函数老是失败~~~ C#里面能不能利用ras创建vpn连接,检测是否连接,并拨号么?
private void dataGrid2_BeforeDelete (bool Cancel)
{
if (MessageBox.Show("是否真的删除此S/O?","确定操 作",MessageBoxButtons.YesNo,MessageBoxIcon.Question,MessageBoxDefaultButton.Button1)==DialogResult.Yes)
Cancel = true;
else
Cancel = false;
}
问题是这个事件没有在按del时触发.
string str1=ds.Tables["Author"].Rows[i][0].ToString();
string str=ds.Tables["Author"].Rows[i][1].ToString();
DialogResult dr=MessageBox.Show("你真的要删除吗","类别录入",MessageBoxButtons.OKCancel,MessageBoxIcon.Exclamation);
if(dr==DialogResult.OK)
{
SqlCommand comd=new SqlCommand();
comd.CommandText="delete from Author where AuthorName='"+str+"'";
comd.Connection=cn;
cn.Open();
comd.ExecuteNonQuery();
// comd.CommandText="delete from Books where AuthorGuid='"+str1+"'";
// comd.ExecuteNonQuery();
cn.Close();
我有一个datagrid,正常情况下,选中一列,按键盘上的"del"键,就可以删除这一行,然后我有一个保存按钮,按下后就可以保存。
但我现在想做到不是所有行都可以删,要在按下删除键后作个判断,如果条件不符就拒绝删除。因此有了之前的dataGrid2_BeforeDelete,按我理解,它应该在按下"del"后执行,但没有。不知该怎么使用。或用什么其他方法实现我的功能。
拜谢!