Reputation: 203
I have 2 datatable
First datatable has only column name
Ex: A B
Second Datatable has column name with values
A B C D
1 2 3 4
2 3 4 5
Now how can i get the values from second datatable to first datatable with columns matching
End result of First Datatable should be like
A B
1 2
I tried merge but datatype mismatch occurs
Upvotes: 0
Views: 57
Reputation: 216363
You can use the DefaultView.ToTable method that allows you to specify which columns you want in the new Table
In this example I use the variable tableWithData to represent the datatable with the value you want to extract and the variable tableWithoutData to represent the table with only the column names. The variable newTable is another datatable that receives the result of the ToTable method, but you could also use tableWithoutData as the destination of the call.
Dim newTable = tableWithData.DefaultView.ToTable(False, tableWithoutData.Columns _
.Cast(Of DataColumn)() _
.Select(Function(x) x.ColumnName) _
.ToArray())
The second parameter of the ToTable method is a ParamArray with the names of the columns you want to get from the source table. To get this value we could use a bit of Linq over the destination table to extract the column names
Upvotes: 1