VB.Net DataGridview Master/Detail 更新未能保持一致

VB.Net DataGridview Master/Detail updating failing to remain consistent

我有一个与 Microsoft Access 后端通信的 vb.net 应用程序。在一个表格上,我有一个 datagridview,在它下面有许多 "detail" 字段;这些是通过拖到表单上生成的,所以有自动生成的代码,而且它非常有效:如果我单击 datagridview 中的一行,详细信息字段会显示该数据,如果我更改数据(通过键入) 在任何详细信息字段中(这些是 textboxescomboboxes 等),数据在 datagridview.
中更改 注意 - 我已将 datagridview 设置为只读,因此所有用户更改都必须 运行 通过详细信息字段,我在其中进行了大量一致性检查。到目前为止,一切都很好。

出现的问题是,如果我以编程方式 更改某些详细信息字段,该数据不会显示在数据网格视图中。如果在某些字段中输入了数据,我想这样做——想象有人输入生日,我想更新一个年龄字段(这是名义上的;那很傻,但机制是一样的)。在该示例中,我可能会设置 Agetextbox.text = "52" 或其他内容,但该数据不会显示在 datagridview 中。如果我 在该字段中输入 “52”,datagridview 更新。

这一切都是在我将数据推回数据库之前发生的——实际上我不想提交这些更改,直到用户填写了几乎所有的字段,或者至少它们都是有效的- 所以这不是更新数据库和读回数据的问题。这只是让两个(我认为)相同绑定的控件显示相同数据的问题。

一个可能很重要的细节 - 编程更新适用于数据网格视图中的前 4 或 5 列,然后不适用于其余列。没有抛出任何错误,但对我来说,更新似乎在几个字段上进行然后停止是可疑的。这是我到目前为止一直在挖掘的地方,没有运气。

我将再次尝试深入研究自动生成的代码,看看是否能找到答案,但我将不胜感激任何人的智慧。

程序化更新后的 bindingsource.endedit() 似乎解决了这个问题。