我正在使用VB.net处理Windows窗体应用程序。我填充了Datagridview1(dataset1.existingtable是数据表)。现在我希望从其数据表的一列获取不同的值,然后填充另一个Datagridview2(dataset2.uniquerecords是数据表)。
问题:无法使用设计模式刷新Datagridview2中的数据。但是,我可以在运行时动态创建数据表时刷新数据。 我的表单完全加载后,在事件后调用下面的子。
以下代码不起作用
Private Sub loaddistinctrecords()
uniquerecords = existingtable.DefaultView.ToTable(True, "column_name")
Datagridview2.Refresh()
End Sub
以下代码有效
Private Sub loaddistinctrecords()
Dim newuniquerecords As New DataTable()
newuniquerecords = existingtable.DefaultView.ToTable(True, "column_name")
Datagridview2.DataSource = newuniquerecords.DefaultView
End Sub
答案 0 :(得分:0)
好像看起来无法直接将数据表分配给另一个数据表,并且如果数据表是从设计模式创建的,则期望datagridview自动更新。
可以做的只是清除现有记录,然后合并源数据表中的记录。
Private Sub loaddistinctrecords()
uniquerecords.Clear()
uniquerecords.Merge(existingtable.DefaultView.ToTable(True, "table_name"))
End Sub