C# 怎么在DataGridView控件里单击右键删除信息? 运行窗体后DataGridView控件查询出来数据后怎么选中一行数据右击删除?删除后怎么保存到数据库里?大侠们帮帮忙啊!迷糊中! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 int rowindex = e.RowIndex;dataGridView1.Rows[rowindex]这样获得了你选中的那一行后面就是普通的从表库删除。。最后刷新一下datasource就是了 1). 添加一个快捷菜单contextMenuStrip1;2). 给dataGridView1的CellMouseDown事件添加处理程序 -;我添加了快捷菜单 也知道单击删除Click事件,就是不知道怎么才能在数据集里删除掉我选中的那行数据 -;题目貌似有点模糊!!-;我的意思是怎么在DataGridView里实现选中数据后单击快捷菜单删除功能,并且更新到数据库里!-;附加个问题``在DataGridView数据集里删除和更新数据有什么区别么~?? 你可能是用DataSet或者DataTable绑定到DataGridView的数据源的。这样你在界面上进行删除,实际只是从内存当中删除掉了。要想在数据库里面删除很简单啊!在鼠标右键删除的代码里面,首先要取得用户选中的行。你应该把数据库表的主键(比如ID)也绑定到DataGridView控件的一个列上,可以把这个ID列隐藏不让用户看见。要删除的时候,取到这个ID是多少,根据这个ID执行一个SQL语句进行删除。当然也有其他办法 -;我和你想的一样也已经把数据库主键ID绑定在控件上了`但是不知道怎么获取选中行Id的值` 你的DataGridView增加一个dataGridView1_CellContentClick动作里面添加int rowindex = e.RowIndex;int rows = dataGridView1.CurrentCell.RowIndex;//获得选种行的索引 string str = this.dataGridView1.Rows[rows].Cells[1].Value.ToString();sql语句是"Delete From ****** where XXXXX="+str ;然后通过这语句删除这行就是了最后记得sqa.Update(ds, "test02") 否则只是在内存中删除了而已。。应该是这样吧 删除数据后对DataGridView控件重新绑定。 if (dataGridView1.SelectedRows == null) return;int id = (int)dataGridView1.SelectedRows[0].Cells["主键列的名称"].Value;上面的代码适合于dataGridView一次只能选中一行的情况。 int rowindex = e.RowIndex; textBox7.Text = rowindex.ToString(); strX = "delete from test01 where ID='" + dataGridView1.Rows[rowindex ].Cells[0].Value.ToString() + "'";////这些放在dataGridView1_CellContentClick里面 string conn = "server=*********************************"; string list = "SELECT *******************************"; SqlCommand sqcomm; SqlDataAdapter sqa = new SqlDataAdapter(list, conn); SqlConnection sqc = new SqlConnection(conn); sqc.Open(); sqcomm.CommandText = strX; sqcomm.Connection = sqc; sqcomm.ExecuteNonQuery(); sqc.Close();///这些放在删除那个删除的click时间里 private void del_recode_ToolStripMenuItem_Click(object sender, EventArgs e)//这是contextMenuStrip1控件里面的删除 { string strId = dataGridView_show.CurrentRow.Cells[0].Value.ToString();//定义一个变量选出dataGridView里第一列的值 String strSql = String.Format("delete from 商品基本信息维护表 where 商品编号 = '{0}'", strId);//这是删除数据库的信息 if (MessageBox.Show("确定要删除此行吗?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes) { Db_help.exec(strSql);//类里的一个执行语句 MessageBox.Show("删除成功!", "提示"); } dataGridView_show.DataSource = Db_help.search("select 商品编号,商品条码,商品名称,类别,单位,规格型号,颜色,状态,特价商品,最低库存,商品折扣,生产商 from 商品基本信息维护表");//重新现实数据库的信息 }我试过,绝对能行 string strId = dataGridView_show.CurrentRow.Cells[0].Value.ToString();//这就是一个获取ID的语句 Db_help.exec(strSql);//类里的一个执行语句-;这句是什么意思??看了半天没看懂!!麻烦解释下 谢谢`` pda上SqlServerCe版本的问题 my97 日期控件 c#中如何调用VB6写的ActiveX Dll vs2010里面建的.framework2.0的网站项目里面没有ajax选项卡。请问怎样解决。 vs2005做成的应用程序能直接给没有安装.NET Framwork架构的用户使用吗 winform下修改XML文件出错,请大家帮帮忙 请问怎样得到当前时间问题,格式如20051013203012? 郁闷啊!!!!!!谁帮我一下 各位有闲高手请进 重庆东软医保接口读卡问题 怎么用反射给匿名对象赋值啊 socket文件传输 运行问题
dataGridView1.Rows[rowindex]这样获得了你选中的那一行后面就是普通的从表库删除。。最后刷新一下datasource就是了
2). 给dataGridView1的CellMouseDown事件添加处理程序
这样你在界面上进行删除,实际只是从内存当中删除掉了。要想在数据库里面删除很简单啊!在鼠标右键删除的代码里面,首先要取得用户选中的行。你应该把数据库表的主键(比如ID)也绑定到DataGridView控件的一个列上,可以把这个ID列隐藏不让用户看见。要删除的时候,取到这个ID是多少,根据这个ID执行一个SQL语句进行删除。当然也有其他办法
里面添加int rowindex = e.RowIndex;int rows = dataGridView1.CurrentCell.RowIndex;//获得选种行的索引
string str = this.dataGridView1.Rows[rows].Cells[1].Value.ToString();sql语句是"Delete From ****** where XXXXX="+str ;
然后通过这语句删除这行就是了
最后记得sqa.Update(ds, "test02") 否则只是在内存中删除了而已
。。应该是这样吧
int id = (int)dataGridView1.SelectedRows[0].Cells["主键列的名称"].Value;上面的代码适合于dataGridView一次只能选中一行的情况。
textBox7.Text = rowindex.ToString();
strX = "delete from test01 where ID='" + dataGridView1.Rows[rowindex ].Cells[0].Value.ToString() + "'";
////这些放在dataGridView1_CellContentClick里面
string conn = "server=*********************************";
string list = "SELECT *******************************";
SqlCommand sqcomm;
SqlDataAdapter sqa = new SqlDataAdapter(list, conn);
SqlConnection sqc = new SqlConnection(conn);
sqc.Open();
sqcomm.CommandText = strX;
sqcomm.Connection = sqc;
sqcomm.ExecuteNonQuery();
sqc.Close();
///这些放在删除那个删除的click时间里
{
string strId = dataGridView_show.CurrentRow.Cells[0].Value.ToString();//定义一个变量选出dataGridView里第一列的值
String strSql = String.Format("delete from 商品基本信息维护表 where 商品编号 = '{0}'", strId);//这是删除数据库的信息
if (MessageBox.Show("确定要删除此行吗?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
Db_help.exec(strSql);//类里的一个执行语句
MessageBox.Show("删除成功!", "提示");
}
dataGridView_show.DataSource = Db_help.search("select 商品编号,商品条码,商品名称,类别,单位,规格型号,颜色,状态,特价商品,最低库存,商品折扣,生产商 from 商品基本信息维护表");//重新现实数据库的信息
}我试过,绝对能行
-;这句是什么意思??看了半天没看懂!!麻烦解释下 谢谢``