子表单关闭后,C#表单数据集获取数据

时间:2012-03-28 05:48:32

标签: c# .net winforms data-binding dataset

我正在开发一个带有sql server,windows窗体和数据集的项目。 让我们假设我有一个带有datagridview的主表单和一些其他win表单控件绑定到数据集中的数据表,绑定源。从这个表格我希望打开另一个表格,我希望编辑上一个表格中的一些数据。 我使用showdialog方法等待表单关闭,之后我希望重新同步主表单中的数据(此时的当前表单)。

我使用了this.mydataset.AcceptChanges(); this.mydataset.GetChanges()并没有人接缝完成工作,我有点卡住了。

有什么想法吗?

2 个答案:

答案 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()方法接受数据集更改,当子窗体关闭时,使用父窗体中存在的原始数据集重新绑定父窗体的网格/控件,并且更改将在父窗体中可见。