Display columns from two tables in one DataGridView
There're two ways.
One way is to use SQL( join )
one DataTable, one DataAdapter.
set "DataGridView.dataSource = DataTable". It's OK
It's very easy,but disadvantage is that you can not use "dataAdapter.update"
The other way is to use JoinView
http://support.microsoft.com/Default.aspx?scid=kb;en-us;325682
two DataTables, two DataAdapters, one JoinView
The only drawback is that if you change the data of DataTable, the JoinView can't modify accordingly. You should write ReFill() method of JoinView
Public Sub ReFill(ByVal DataTable As DataTable)
Me.Clear()
Table = DataTable
Dim Row As DataRow
For Each Row In Table.Rows
List.Add(New JoinViewRow(Me, Row))
Next
End Sub
There're two ways.
One way is to use SQL( join )
one DataTable, one DataAdapter.
set "DataGridView.dataSource = DataTable". It's OK
It's very easy,but disadvantage is that you can not use "dataAdapter.update"
The other way is to use JoinView
http://support.microsoft.com/Default.aspx?scid=kb;en-us;325682
two DataTables, two DataAdapters, one JoinView
The only drawback is that if you change the data of DataTable, the JoinView can't modify accordingly. You should write ReFill() method of JoinView
Public Sub ReFill(ByVal DataTable As DataTable)
Me.Clear()
Table = DataTable
Dim Row As DataRow
For Each Row In Table.Rows
List.Add(New JoinViewRow(Me, Row))
Next
End Sub
本文介绍了两种在 DataGridView 中实现两个表联合显示的方法:一种是使用 SQL 的联接操作将两个 DataTable 合并为一个,然后设置 DataGridView 的数据源;另一种是使用 JoinView,通过创建视图来展示两个 DataTable 的数据。第一种方法简单易行但更新时需注意;第二种方法能更灵活地处理数据变化,但需手动刷新视图。
117

被折叠的 条评论
为什么被折叠?



