【发布时间】:2015-08-16 03:01:03
【问题描述】:
情况:
我正在用 .NET4.0 在 VS2013 中使用 C# 编写一个 Winforms 应用程序。
在选项卡式控件上,我有两个选项卡。
- 首先,我有一个通过数据适配器绑定到 MySQL“产品”表的 dgv,还有一个绑定到 MySQL“库存”表的 dgv。这些是相关的,因此仅显示所选产品的库存项目。
- 在第二个选项卡上,我需要显示一个带有完整“库存”表的 dgv,不受“产品”的约束。所以我设置了一个单独的适配器,从同一个 MySQL“stock”表中填充。我使用单独的适配器,以便获得所有行的不受约束的视图。
我还需要确保,当我在一个选项卡上对库存进行更改时,这会反映在另一个选项卡中。
问题:
每次用户退出 dgv 行时,我都会更新数据库(通过 RowValidated 上的 adapter.Update)。为了确保更改反映在两个选项卡中,我处理 TabControl.Selected 事件,在该事件中我(重新)填充关联的适配器,然后刷新 dgv。但是,这不会显示在其他选项卡中所做的更改。我已确保在切换选项卡之前,MySQL 数据库已正确更新。因此,似乎其他适配器或 dgv 出于某种原因没有接收到它。
问题:
如何才能成功实现此刷新?我认为这可能是使用错误命令的一个简单问题,或者可能是将两个适配器指向同一个表是错误的方法。
【问题讨论】:
标签: c# mysql datagridview refresh dataadapter