類似這樣的一個Linq:
Dim Linq1 = (From row1 As DataRow In DataTable1.AsEnumerable Join row2 As DataRow In DataTable2.AsEnumerable On row1.Field(Of Integer)("欄位1") Equals row2.Field(Of Integer)("欄位2")
Select Field1 = row1.欄位1,Field3 = row2.欄位3
網上找到的辦法如下:
'1. 創建表
DIM DataTable3 AS DataTable
Dim Linq2 = (From row1 In Linq1.GetType().GetProperties()).ToList
For Each row1 In Linq2 '經測驗,這里只得到三個屬性:Count、Item、Capacity,沒有欄位。
Dim DataColumn1 As New DataColumn
DataColumn1.ColumnName = row1.Name
DataColumn1.DataType = row1.PropertyType
DataTable3.Columns.Add(DataColumn1)
Next row1
DataSet1.Tables.Add(DataTable3)
'2. 添加行
For J = 0 To Linq1.Count - 1 Step 1
Dim Object1 As Object(Linq2.Count - 1)
For K = 0 To Linq2.Count - 1 Step 1
Object1(K) = Linq2(K).GetValue(Linq1.Item(J), Nothing)
Next K
DataTable3.Rows.Add(Object1)
Next J
請教一下,上述哪里出了問題,怎樣解決?或者有無其它完整的方法,有勞詳細解答!
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/269334.html
標籤:VB.NET
