[Button修改]  [Button删除]序号  ID   value  
 1    001   aaa
 2    002   bbb
 1. 类似于上面所示,上面有两个按钮,下面的列表用datagridview
显示,现在用鼠标选中其中一行,例如(1  001  aaa)后,
点击按钮 [Button修改] 弹出另外一个窗口,可以修改选中一行的信息,
如果点击按钮 [Button删除] 则删除该行.
 2. 双击datagridview中一行,弹出新窗口,功能和点击按钮 [Button修改] 
相同.谢谢了 ..

解决方案 »

  1.   

    新的窗体为NewForm.
    在NewForm上做一个:
    int id;
    public int ID()
    {
    set{id = value;}
    }在datagridview存在的窗体中
    edit_Click(sender,e)
    {
    int ID = datagridview.currentdatarow.cells["序号"].value.tostring();
    NewFrom form = new NewForm();
    form.ID = ID;
    form.ShowDialog();
    }然后在NewForm窗体中编辑这个ID为1的行。双击是在datagridview的doubleclick事件中写 this.edit.perfenmenclick();大致就这样
      

  2.   

    delete类似。得到当前行,然后在datatable里面删除,更新dataset之后就可以了。
      

  3.   

    to:tshark(Only know is not enough)谢谢,搞店了.
    顺便问问,在弹出新窗口修改保存后,怎么顺便刷新
    它的父窗口?
      

  4.   

    在父窗口的事件中写:
    如:
    edit_Click(sender,e)
    {
    int ID = datagridview.currentdatarow.cells["序号"].value.tostring();
    NewFrom form = new NewForm();
    form.ID = ID;
    form.ShowDialog();
    //在此添加刷新代码
    ....
    }
      

  5.   

    在你的子窗口,保存完后添加一句:this.DialogResult = DialogResult.OK;
    然后在父窗口的事件中:
    edit_Click(sender,e)
    {
    int ID = datagridview.currentdatarow.cells["序号"].value.tostring();
    NewFrom form = new NewForm();
    form.ID = ID;
    if(form.ShowDialog().DialogResult = DialogResult.OK)
    {
    添加刷新代码;
    }
    }
    因为这涉及到父子窗口之间的通讯.
    楼上的,在子窗口显示出来就刷新父窗口代码,但是子窗口并没有做任何操作.
    要子窗口操作后,刷新才有意义!
      

  6.   

    我没set这个方法。而且我上面提示好多错误。我是个菜鸟,刚学。
    int   ID   =   datagridview.currentdatarow.cells[ "序号 "].value.tostring();这句提示无法转化成int.
     我也是这个问题求教。能帮帮忙么