场合:
我正在使用带有.NET4.0的VS2013中的C#编写Winforms应用程序。
在选项卡式控件上,我有两个选项卡。
我还需要确保在一个标签上对库存进行更改时,这会在另一个标签中反映出来。
问题:
每次用户退出dgv行时都会更新数据库(通过RowValidated上的adapter.Update)。为了确保更改反映在两个选项卡中,我处理TabControl.Selected事件,其中我(重新)填充关联的适配器,然后刷新dgv。但是,这并未显示其他选项卡中所做的更改。我确保在切换选项卡之前,MySQL数据库已正确更新。因此,似乎其他适配器或dgv由于某种原因没有选择它。
问题:
如何成功完成此次刷新?我认为这可能是使用错误命令的一个简单问题,或者可能是因为有两个适配器指向同一个表是错误的方法。
答案 0 :(得分:0)
事实证明,当我在标签之间移动而不是删除时,插入和修改 被反映出来。然后我意识到我的(重新)填充适配器将刷新修改的行并添加新行,但它会保持删除行不变。所以我只是在Fill之前插入了一个DataTable.Clear,这让它工作得很好。