ここでは、このanswerのVB変換があります。
Dim dt1 As New DataTable()
dt1.Columns.Add("CustID", GetType(Integer))
dt1.Columns.Add("ColX", GetType(Integer))
dt1.Columns.Add("ColY", GetType(Integer))
Dim dt2 As New DataTable()
dt2.Columns.Add("CustID", GetType(Integer))
dt2.Columns.Add("ColZ", GetType(Integer))
For i As Integer = 1 To 5
Dim row As DataRow = dt1.NewRow()
row("CustID") = i
row("ColX") = 10 + i
row("ColY") = 20 + i
dt1.Rows.Add(row)
row = dt2.NewRow()
row("CustID") = i
row("ColZ") = 30 + i
dt2.Rows.Add(row)
Next
Dim results = From table1 In dt1.AsEnumerable()Join table2 In dt2.AsEnumerable() On CInt(table1("CustID")) = CInt(table2("CustID"))New With { _
Key .CustID = CInt(table1("CustID")), _
Key .ColX = CInt(table1("ColX")), _
Key .ColY = CInt(table1("ColY")), _
Key .ColZ = CInt(table2("ColZ")) _
}
For Each item As var In results
Console.WriteLine([String].Format("ID = {0}, ColX = {1}, ColY = {2}, ColZ = {3}", item.CustID, item.ColX, item.ColY, item.ColZ))
Next
Console.ReadLine()
このソリューションはvb.netにありますか? – Chrisetiquette
それはどうですか? –
私はあなたの構文で少し失われています、私はすでに2つのDataTable、DT1とDT2内のすべてのデータを持っています。 ComboBox1.SelectedItemとComboBox2.SelectedItemを使用して2つを結びつけています。私が自分自身を非常にうまく説明していないような気がするので、それを簡単にするならば、DT1はデータリストであり、DT2はマトリックスです。私は行列に従ってDT1をコードする必要があります。ですから、DT1では、A、B、Cが入力されたコードフィールドがあります。このコードフィールドに従ってDT2(マトリックス)からデータを追加したいと思います。したがって、コードフィールドにAを含むDT1の任意のものは、コードフィールドにAを付けて行を取得します。最後に末尾に追加します。 – Chrisetiquette