父窗口中有一个datagridview和一个button按钮,绑定了数据库中的users表(是在程序中绑定的), 表中有userName,userPwd字段,
现在点击button按钮,弹出一个用于增加user的对话框,但是增加完毕后,父窗口中的datagridview并没有更新.
问高手如何更新数据呢,
我的思路:我在父窗口的类中有一个函数loaddata(),但是我在子窗口中缺无法调用,把loaddata()写成public的也出现不了.
请牛人试一下小刀,谢谢了
现在点击button按钮,弹出一个用于增加user的对话框,但是增加完毕后,父窗口中的datagridview并没有更新.
问高手如何更新数据呢,
我的思路:我在父窗口的类中有一个函数loaddata(),但是我在子窗口中缺无法调用,把loaddata()写成public的也出现不了.
请牛人试一下小刀,谢谢了
form2 frm=new form2();
if(frm.showdialog()=DialogResult.Yes)
{
//刷新datagridview
}form2中关闭窗口事件加上这句:
this.DialogResult = DialogResult.OK;
我用的是委托给你参考一下
在子窗体中定义委托Public Delegate Sub returnvalue(ByVal strName As String)
Public strFileNm As returnvalue增加完后在确定button中写Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click strFileNm(TextBox1.Text.ToString()) Me.Close()End Sub在父窗体的button中写Private Sub tsmOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsmOpen.ClickDim temp As Form(子) = New Form(子)temp.strFileNm = New temp(工程名).Form(子).returnvalue(AddressOf showvalue)temp.Show()
End SubPrivate Sub showvalue(ByVal strName As String)
txt1.Text = strName.ToString()
End Sub
子窗体
public delegate void CallBackUpdateDatasource();
public CallBackUpdateDatasource OnCallBackUpdateDatasource;父窗体
ChildForm.OnCallBackUpdateDatasource = new ChildForm.CallBackUpdateDatasource(this.loaddata); void loaddata()
{
//update datasource;
}