问题描述
各位大神,还有一个问题需要请教下,自己花了两个小时,也没有找到解决办法。问题是这样,我在C#winform写添加事件,就是给页面添加一行记录有两种方式,第一种,我自己写的DataRowdrNew=dstC_数据字典1.C_数据字典.NewRow();drNew["ID"]=Guid.NewGuid().ToString();drNew["数据项"]=treeView1.SelectedNode.Text.Trim();dstC_数据字典1.C_数据字典.Rows.Add(drNew);bindingSource1.EndEdit();gridView1.PostEditor();gridView1.FocusedRowHandle=-1;这样写的话,会导致,最后一行的数据无法保存,最后发现是因为焦点行没有转移,但是gridView1.FocusedRowHandle=-1;我这句话已经代表转移焦点行了啊?第二种方式,别人写的gridView1.FocusedRowHandle=-1;bindingSource1.AddNew();DataRowViewdv=this.bindingSource1.CurrentasDataRowView;if(dv!=null){dv["ID"]=Guid.NewGuid();dv["数据项"]=treeView1.SelectedNode.Text.Trim();}}人家这样的添加方法就可以让添加的最后一行数据保存。实在搞不懂,我用第一种方式写的添加事件,以前都好用,而且以前的控件绑定数据源方式也和现在一样,能够保证最后一行数据保存上,为什么现在不好用了。附上控件绑定数据方式谢谢各位的回答~~~
解决方案
解决方案二:
人家修改了数据源,而你只修改了界面。
解决方案三:
引用1楼sp1234的回复:
人家修改了数据源,而你只修改了界面。
可我的数据源绑的就是dstC_数据字典1.C_数据字典,难道我必须直接修改bindingsource,而修改其绑定的数据集没有用吗