我正在开发一个带有sql server,windows窗体和数据集的项目。 让我们假设我有一个带有datagridview的主表单和一些其他win表单控件绑定到数据集中的数据表,绑定源。从这个表格我希望打开另一个表格,我希望编辑上一个表格中的一些数据。 我使用showdialog方法等待表单关闭,之后我希望重新同步主表单中的数据(此时的当前表单)。
我使用了this.mydataset.AcceptChanges(); this.mydataset.GetChanges()并没有人接缝完成工作,我有点卡住了。
有什么想法吗?
答案 0 :(得分:0)
DataSet.GetChanges 将不会对数据集提交内存更改,也不会从db获取更改。 http://msdn.microsoft.com/en-us/library/a4ey25we.aspx
DataSet.AcceptChanges 方法会将数据集中的修改记录标记为未修改。 http://msdn.microsoft.com/en-us/library/system.data.dataset.acceptchanges.aspx
您必须在提交子表单以刷新数据后从db重新查询数据。
答案 1 :(得分:0)
将Dataset
从父窗体传递给子窗体的构造函数作为参数,并将子窗体中的窗体级Dataset
变量保持为指向(初始化)到该构造函数参数。
对子窗体中的数据集进行更改,并确保不要丢弃此子窗体Dataset
变量(指向父窗体中的相同数据集变量)。
在子窗体中使用AcceptChanges()
方法接受数据集更改,当子窗体关闭时,使用父窗体中存在的原始数据集重新绑定父窗体的网格/控件,并且更改将在父窗体中可见。