public class FormUser : FormModule.FormMasterDetailModule
操作方法:
FormUser 窗体从FormModule.FormMasterDetailModule继承,在FormUser窗体中加入了txtUserCode等4个文本框,重写FormMasterDetailModule窗体中的GetDetailBinding()方法将其绑定,再用重写atnSaveExecute方法将其更新到数据库,
产生问题:
修改文本框的数据不能更新???? 如果我直接修改dsMasterDetail.Tables["Pub_User"].Rows[0][2]="101";可以更新.困惑啊,我又没有用dsMasterDetail.AcceptChanges();确认修改,文本框也绑定了,但就是不能捕获文本框的修改.请高手指点,要分多少都给...子窗体保存.
public override void atnSaveExecute(object sender,EventArgs e )
{//保存记录
try
{
// dsMasterDetail.Tables["Pub_User"].Rows[0][2]="101";
base.atnSaveExecute(sender,e);
}
catch (System.Exception eEndEdit)
{
System.Windows.Forms.MessageBox.Show(eEndEdit.Message);
}
}子窗体绑定文本框.
public override void GetDetailBinding()
{
txtUserCode.DataBindings.Clear();
txtUserName.DataBindings.Clear(); txtEmail.DataBindings.Clear();
txtPassWord.DataBindings.Clear();
txtUserCode.DataBindings.Add(new Binding("Text",base.dsMasterDetail,"Pub_User.UserCode"));
txtUserName.DataBindings.Add(new Binding("Text",base.dsMasterDetail,"Pub_User.UserName"));
txtEmail.DataBindings.Add(new Binding("Text",base.dsMasterDetail,"Pub_User.Email"));
txtPassWord.DataBindings.Add(new Binding("Text",base.dsMasterDetail,"Pub_User.UserPassWord"));
//chkAllowUsed.DataBindings.Add(new Binding("Value",dsMasterDetail.Tables["Pub_User"],"AllowUsed"));
}父窗体保存.
public virtual void atnSaveExecute(object sender,EventArgs e )
{//保存记录
try
{
TabCtlDetail.Focus();
UWS.UpdateMaster(dsMasterDetail,"Pub_User","UpdatePub_User");//用WEBSERVE更新
dsMasterDetail.AcceptChanges();//确认操作
}
catch (System.Exception eEndEdit)
{
System.Windows.Forms.MessageBox.Show(eEndEdit.Message);
}
//TabCtlDetail.Focus();
//UWS.UpdateMaster(dsMasterDetail,"Pub_User","UpdatePub_User");
}
操作方法:
FormUser 窗体从FormModule.FormMasterDetailModule继承,在FormUser窗体中加入了txtUserCode等4个文本框,重写FormMasterDetailModule窗体中的GetDetailBinding()方法将其绑定,再用重写atnSaveExecute方法将其更新到数据库,
产生问题:
修改文本框的数据不能更新???? 如果我直接修改dsMasterDetail.Tables["Pub_User"].Rows[0][2]="101";可以更新.困惑啊,我又没有用dsMasterDetail.AcceptChanges();确认修改,文本框也绑定了,但就是不能捕获文本框的修改.请高手指点,要分多少都给...子窗体保存.
public override void atnSaveExecute(object sender,EventArgs e )
{//保存记录
try
{
// dsMasterDetail.Tables["Pub_User"].Rows[0][2]="101";
base.atnSaveExecute(sender,e);
}
catch (System.Exception eEndEdit)
{
System.Windows.Forms.MessageBox.Show(eEndEdit.Message);
}
}子窗体绑定文本框.
public override void GetDetailBinding()
{
txtUserCode.DataBindings.Clear();
txtUserName.DataBindings.Clear(); txtEmail.DataBindings.Clear();
txtPassWord.DataBindings.Clear();
txtUserCode.DataBindings.Add(new Binding("Text",base.dsMasterDetail,"Pub_User.UserCode"));
txtUserName.DataBindings.Add(new Binding("Text",base.dsMasterDetail,"Pub_User.UserName"));
txtEmail.DataBindings.Add(new Binding("Text",base.dsMasterDetail,"Pub_User.Email"));
txtPassWord.DataBindings.Add(new Binding("Text",base.dsMasterDetail,"Pub_User.UserPassWord"));
//chkAllowUsed.DataBindings.Add(new Binding("Value",dsMasterDetail.Tables["Pub_User"],"AllowUsed"));
}父窗体保存.
public virtual void atnSaveExecute(object sender,EventArgs e )
{//保存记录
try
{
TabCtlDetail.Focus();
UWS.UpdateMaster(dsMasterDetail,"Pub_User","UpdatePub_User");//用WEBSERVE更新
dsMasterDetail.AcceptChanges();//确认操作
}
catch (System.Exception eEndEdit)
{
System.Windows.Forms.MessageBox.Show(eEndEdit.Message);
}
//TabCtlDetail.Focus();
//UWS.UpdateMaster(dsMasterDetail,"Pub_User","UpdatePub_User");
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货