运行窗体后DataGridView控件查询出来数据后怎么选中一行数据右击删除?删除后怎么保存到数据库里?大侠们帮帮忙啊!迷糊中!

解决方案 »

  1.   

    int rowindex = e.RowIndex;
    dataGridView1.Rows[rowindex]这样获得了你选中的那一行后面就是普通的从表库删除。。最后刷新一下datasource就是了
      

  2.   

    1). 添加一个快捷菜单contextMenuStrip1;
    2). 给dataGridView1的CellMouseDown事件添加处理程序
      

  3.   

    -;我添加了快捷菜单 也知道单击删除Click事件,就是不知道怎么才能在数据集里删除掉我选中的那行数据
      

  4.   

    -;题目貌似有点模糊!!-;我的意思是怎么在DataGridView里实现选中数据后单击快捷菜单删除功能,并且更新到数据库里!-;附加个问题``在DataGridView数据集里删除和更新数据有什么区别么~??
      

  5.   

    你可能是用DataSet或者DataTable绑定到DataGridView的数据源的。
    这样你在界面上进行删除,实际只是从内存当中删除掉了。要想在数据库里面删除很简单啊!在鼠标右键删除的代码里面,首先要取得用户选中的行。你应该把数据库表的主键(比如ID)也绑定到DataGridView控件的一个列上,可以把这个ID列隐藏不让用户看见。要删除的时候,取到这个ID是多少,根据这个ID执行一个SQL语句进行删除。当然也有其他办法
      

  6.   

    -;我和你想的一样也已经把数据库主键ID绑定在控件上了`但是不知道怎么获取选中行Id的值`
      

  7.   

    你的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") 否则只是在内存中删除了而已
    。。应该是这样吧
      

  8.   

    删除数据后对DataGridView控件重新绑定。
      

  9.   

    if (dataGridView1.SelectedRows == null) return;
    int id = (int)dataGridView1.SelectedRows[0].Cells["主键列的名称"].Value;上面的代码适合于dataGridView一次只能选中一行的情况。
      

  10.   

    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时间里
      

  11.   

       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 商品基本信息维护表");//重新现实数据库的信息
                  
            }我试过,绝对能行
      

  12.   

    string strId = dataGridView_show.CurrentRow.Cells[0].Value.ToString();//这就是一个获取ID的语句
      

  13.   

     Db_help.exec(strSql);//类里的一个执行语句
    -;这句是什么意思??看了半天没看懂!!麻烦解释下 谢谢``