通过另一个对话框在数据库中插入数据后刷新DataGridView

时间:2012-06-17 21:43:57

标签: .net vb.net winforms datagridview

在我的Winforms应用程序中,我有一个主要表单,其中DataGridView绑定到数据库实体数据源。

网格设置为不允许插入。相反,我的表单上有一个按钮,用于插入第二个对话框(即,使用比DataGridView更友好的ui)。

插入工作正常..在db中查询基础表显示已插入记录。但是,我似乎无法在主窗体上获取DataGridView以查看刚刚由第二个对话框创建的新数据。

我读过很多Stack Overflow q&一个并尝试了各种解决方案,以使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

2 个答案:

答案 0 :(得分:1)

尝试绑定查询的结果而不是查询:

dataGridView.Source = query.Execute(MergeOption.AppendOnly);

答案 1 :(得分:0)

在尝试了很多事情之后,我终于按照以下SO答案的建议来实现这一目标。Refresh DataGridView in Windows form