VB.NET-有没有办法在datagrid中绑定两个datatable

VB.NET-有没有办法在datagrid中绑定两个datatable,vb.net,datagridview,datatable,Vb.net,Datagridview,Datatable,我需要帮助绑定两个不同datatable中的值 示例:我有一个数据表x和yx有4列和一些行数,y有1列和与x相同的行数。现在,我希望datatabley中的这1列显示在第二个位置,并在datatable中显示x,如x-y-x-x…。这必须是在datagrid中显示列的顺序,但是如何绑定它们呢 即使绑定它们,也需要设置列位置的格式。有什么可行的方法吗?有几个选项: 选项1:将数据加载到一个表中,而不是两个表中 选项2:如果两个数据表都是只读的,则将它们合并到一个表中 选项3:使用未绑定列-绑定一个

我需要帮助绑定两个不同datatable中的值

示例:我有一个数据表
x
y
x
有4列和一些行数,
y
有1列和与x相同的行数。现在,我希望datatable
y
中的这1列显示在第二个位置,并在datatable中显示
x
,如
x-y-x-x…
。这必须是在datagrid中显示列的顺序,但是如何绑定它们呢

即使绑定它们,也需要设置列位置的格式。有什么可行的方法吗?

有几个选项:

选项1:将数据加载到一个表中,而不是两个表中

选项2:如果两个数据表都是只读的,则将它们合并到一个表中

选项3:使用未绑定列-绑定一个表但取消绑定另一个表

选项4:编写一个包装器类来包装数据,然后将列表(包装器对象)绑定到网格,类似于:

Public Class MyData
    Private _rowA As tblARow
    Private _rowB As tblBrow
    Sub New(rowFromA As tblARow, rowFromB As tblBRow)
        _rowA = rowFromA
        _rowB = rowFromB
    End Sub

    Property ColumnA As String
        Get
            Return _rowA.ColumnA
        End Get
        Set(value As String)
            _rowA.ColumnA = value
        End Set
    End Property

    ' // Other properties...
End Class

创建一个数据集。在数据集中添加一个新表。应使用自定义查询创建该表。在该表中,您应该加载数据,然后将其检索到datagrid中(您还可以预览数据)。这很容易。使用visual Studio中的可视化工具。

是否要使用SQL查询从数据库加载这些工具?是。。。。这两个数据表包含从sql数据库加载的值。因此,使用特定的sql命令(查询)更好。我尝试合并数据表,但如何编辑该数据表中列的位置。。。我需要像x-y-x-x-XY这样的列。你可以简单地创建一个新表,然后按照你想要的顺序复制这些列。但问题是我做不到。。。它的限制。。。是否有其他选择??选项4如何-改用包装类,这是最终的解决方案,可以适应几乎所有的场景