在另一个对话框将数据插入 DB 后刷新 DataGridView
Posted
技术标签:
【中文标题】在另一个对话框将数据插入 DB 后刷新 DataGridView【英文标题】:Refresh DataGridView after data inserted in DB by another dialog 【发布时间】:2012-06-17 21:43:56 【问题描述】:在我的 Winforms 应用程序中,我有一个主窗体,其中 DataGridView 绑定到数据库实体数据源。
网格设置为不允许插入。相反,我在我的表单上有一个按钮,它会启动插入发生的第二个对话框(即,使用比 DataGridView 更友好的 ui)。
插入工作正常。在 db 中查询基础表显示记录已插入。但是,我似乎无法让主窗体上的 DataGridView 来查看第二个对话框刚刚创建的新数据。
我已经阅读了许多 Stack Overflow 问答并尝试了各种解决方案来让 DataGridView 刷新以显示新数据。但没有任何效果。
这一定是常见的情况??有人可以推荐一些可行的 VB.NET 代码吗?
谢谢,
巴扎
Dim qry = From o In mDB.tblFOMTestResults From p In mDB.tblProduct.DefaultIfEmpty _
From c In mDB.tblCalibration _
Where o.ProductID = p.ID And o.CalibrationID = c.ID _
Order By o.RunDate, p.ProductName Select _
o.ID, o.SampleCode, o.RunDate, o.ConditioningDays, o.ConditioningRHAndTemp, _
o.TestArea, o.EdgeSeal, o.SealedBags, o.FaceSeal, _
o.MoisturePercentage, o.CalibrationID, o.FYFOMH1, o.FYFOMH2, o.FYFOMH3, _
o.FYFOMH4, p.ProductName, o.ProductID
Me.TblFOMTestResultsDataGridView.DataSource = qry
【问题讨论】:
请贴出绑定的代码。 感谢努迪尔的回复。已添加绑定代码 - 请参见上文。 【参考方案1】:尝试绑定到查询的结果而不是查询:
dataGridView.Source = query.Execute(MergeOption.AppendOnly);
【讨论】:
嗨,我的查询没有 Execute 方法?? (如果有帮助,我正在使用 .NET 4.0?)。感谢您回复雅各布。 ObjectQuery.Execute Method.【参考方案2】:在尝试了很多事情之后,我终于按照以下 SO 答案的建议完成了这项工作。Refresh DataGridView in Windows form
【讨论】:
以上是关于在另一个对话框将数据插入 DB 后刷新 DataGridView的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 8 和 Ajax - 将数据插入表中总是刷新加载
在 postgresql 中插入 ... 值( SELECT ... FROM ... )?