我在C#WinForm里,窗体上有1个DataGrid和1个Button(删除功能),
功能就是我选中DataGrid里的一行,按Button就删除这各行,
有没有高手把代码说一下,谢谢了

解决方案 »

  1.   

    protected override void Delete()
    {
    if (gridView1.FocusedRowHandle>=0)
    {
    DialogResult ddd=MessageBox.Show("您确定要删除么?","警告",MessageBoxButtons.YesNo);
    if(ddd.ToString().Equals("Yes"))
    {

    gridView1.DeleteRow(gridView1.FocusedRowHandle);
    Adapter1.Update(DSet1,"a");

    }
    } }
      

  2.   

    BindingManagerBase bm = dataGrid1 .BindingContext[dataGrid1.DataSource, dataGrid1.DataMember];
    if (bm.Count <= 0 || bm.Position == -1) return;
    DataRow dr = ((DataRowView)bm.Current).Row;
    dr.Delete();
      

  3.   

    jinqinghai() 用的是VS2005?
    我说说在2003上的。
    try
    {
    BindingManagerBase bm = grid.BindingContext[grid.DataSource, grid.DataMember];
    if (bm.Count <= 0 || bm.Position == -1) return ;
    DataRow dr = ((DataRowView)bm.Current).Row;
    dr.Delete();
    }
    catch(System.Exception ex)
    {}
      

  4.   

    zwfhome1(任由风吹) 
    你的方法正确,谢谢你啊,也谢谢前面的朋友,我不知道怎么给分,给我说说看
      

  5.   


    DS.Tables[0].Rows.RemoveAt(this.ListDG.CurrentRowIndex);//在DS中删除DataGrid选中的行,不过如果要同时也删除数据库中对的数据还需要做更新动作。OleDbConnection cnn=new OleDbConnection("provider=Microsoft.jet.oledb.4.0;data source="+Application.StartupPath.ToString()+@"\school.mdb");
    OleDbCommand cmd=new OleDbCommand("select * from js",cnn);
    OleDbDataAdapter ada=new OleDbDataAdapter(cmd) ;
    OleDbCommandBuilder cb=new OleDbCommandBuilder(ada);
    ada.Update(ds,"js");
      

  6.   

    to:MyLf(不睡觉的鱼) 我用的也是2003阿,只不过用的datagrid是devexprss的,和正常datagrid没有本质区别..
      

  7.   

    public static void update_Table(string sql)
    {
    try
    {
    con=RabbitADO.Instance.Conn;
    OleDbCommand dataCommand = new OleDbCommand(sql,con);
    dataCommand.ExecuteNonQuery();
    }
    catch(OleDbException e)
    {
    MessageBox.Show(e.Message);
    }
    }
      

  8.   

    public static void update_Table(string sql)
    {
    try
    {
    con=RabbitADO.Instance.Conn;
    OleDbCommand dataCommand = new OleDbCommand(sql,con);
    dataCommand.ExecuteNonQuery();
    }
    catch(OleDbException e)
    {
    MessageBox.Show(e.Message);
    }
    }
    这里的SQL语句写就可以实现功能了吗?
      

  9.   

    private void button1_Click(object sender, System.EventArgs e)
    {
    BindingManagerBase bm = dataGrid1 .BindingContext[dataGrid1.DataSource, dataGrid1.DataMember];
    if (bm.Count <= 0 || bm.Position == -1) return;
    DataRow dr = ((DataRowView)bm.Current).Row;
    dr.Delete();
            }
    我这个试过了,好象数据库那里没有删除,只是看到DataGrid里的删除了
      

  10.   

    to:这里的SQL语句写就可以实现功能了吗?是啊,把sql语句传给他就行了
      

  11.   

    to:是啊,把sql语句传给他就行了
    你那种的我知道,现在我的要求是窗体里的DataGrid里的删除了,后台的数据库也要删除
    我不知道该怎么办了,下面的代码只是DataGrid里的删除了,后台数据库里没有删除,郁闷
    private void button1_Click(object sender, System.EventArgs e)
    {
    BindingManagerBase bm = dataGrid1 .BindingContext[dataGrid1.DataSource, dataGrid1.DataMember];
    if (bm.Count <= 0 || bm.Position == -1) return;
    DataRow dr = ((DataRowView)bm.Current).Row;
    dr.Delete();
            }
      

  12.   

    下面的代码只是DataGrid里的删除了,后台数据库里没有删除,郁闷
    private void button1_Click(object sender, System.EventArgs e)
    {
    BindingManagerBase bm = dataGrid1 .BindingContext[dataGrid1.DataSource, dataGrid1.DataMember];
    if (bm.Count <= 0 || bm.Position == -1) return;
    DataRow dr = ((DataRowView)bm.Current).Row;
    dr.Delete();
            }
    我还要删除数据库里的,忘高手指点
      

  13.   

    to: jinqinghai()
    还是不太懂,晕死,你写个代码提示我一下撒