高分求解dataGrid老问题
数据和dataGrid中的数据还没有一致,我用BindingManagerBase移动数据源和另一个控件得到焦点方法
都不能另它保存到table中.(手动失去焦点则行);
以下是csdn上朋友给我的解答
(这个试了) 解决了插入不一致的问题,但update时还是不行
BindingManagerBase.EndCurrentEdit()
(刚看到,现在不方便试)
問題1:
加上這些後再做保存...
Me.dgd_details.Select(0) 'get the focus
Me.dgd_details.UnSelect(0) 'loss the focus
Me.dgd_details.Refresh()
Me.dgd_details.Update()
Me.datatable_1.GetChanges(DataRowState.Modified)
Me.datatable_1.AcceptChanges()
大家再来看看 我这里贴上源程序,其实它们都是用dataGrid绑定dstail这个容器,为什么BindingManagerBase.EndCurrentEdit()能解决插入,不能解决更新
case "保存":
this.BindingContext[dsDetail,"detail"].EndCurrentEdit();//取消编辑状态
if(boolNew)//验证界面业务逻辑
{
if(checkData())
{
if (myPeople.addPeople(txtName.Text,txtUserId.Text,txtSection.Text,txtDept.Text,out intPeoId))//先在主表增加
{
if(myPeople.SavePeopleDetail(dsDetail,intPeoId))//再改细表
MessageBox.Show("成功添加一条用户记录");
beginState();//回复到初始化状态
}
}
}
if(boolModify)
{
//先修改主表
if(myPeople.updatePeople(txtName.Text,txtUserId.Text,txtSection.Text,txtDept.Text,intPeoId))
myPeople.SavePeopleDetail(dsDetail,intPeoId);
break;
}
break;