我有2个数据表
第一个数据表只有列名
Ex:A B
第二个数据表具有值为
的列名 A B C D
1 2 3 4
2 3 4 5
现在我如何从第二个数据表到第一个数据表的值得到匹配
的列First Datatable的最终结果应该是
A B
1 2
我尝试合并但发生数据类型不匹配
答案 0 :(得分:1)
您可以使用DefaultView.ToTable方法,该方法允许您在新表中指定所需的列
在此示例中,我使用变量 tableWithData 来表示具有要提取的值的数据表,并使用变量 tableWithoutData 来表示仅包含列名的表。变量 newTable 是另一个接收ToTable方法结果的数据表,但您也可以使用 tableWithoutData 作为调用的目标。
Dim newTable = tableWithData.DefaultView.ToTable(False, tableWithoutData.Columns _
.Cast(Of DataColumn)() _
.Select(Function(x) x.ColumnName) _
.ToArray())
ToTable方法的第二个参数是ParamArray,其中包含要从源表中获取的列的名称。要获得此值,我们可以在目标表上使用一点Linq来提取列名