日期:2014-05-20  浏览次数:20836 次

问个关于datagridview的问题 ..
[Button修改]     [Button删除]

序号     ID       value    
  1         001       aaa
  2         002       bbb


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

谢谢了   ..

------解决方案--------------------
新的窗体为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();

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

------解决方案--------------------
在你的子窗口,保存完后添加一句: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)
{
添加刷新代码;
}
}
因为这涉及到父子窗口之间的通讯.
楼上的,在子窗口显示出来就刷新父窗口代码,但是子窗口并没有做任何操作.
要子窗口操作后,刷新才有意义!