2,892 questions
Maybe this will work:
Dim arr = (From row In MyDataTable.AsEnumerable()
Select OnlyColumns.Select(Function(h) row.Item(h)).ToArray).ToArray
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
hi I can't choose like (2D Array).
Dim MyDataTable As New DataTable
MyDataTable.Columns.Add("A")
MyDataTable.Columns.Add("B")
MyDataTable.Columns.Add("C")
MyDataTable.Rows.Add({"a", "aL2_1", "aL3_1"})
MyDataTable.Rows.Add({"b", "bL2_1", "bL3_2"})
MyDataTable.Rows.Add({"a", "aL2_1", "aL3_2"})
MyDataTable.Rows.Add({"a", "aL2_2", "aL3_1"})
MyDataTable.Rows.Add({"b", "bL2_1", "bL3_1"})
MyDataTable.Rows.Add({"c", "cL2_1", "cL3_1"})
'Is 2D Array
Dim arrNoProblem = (From row In MyDataTable.AsEnumerable()
Select New Object() {row.Item("B"), row.Item("C")}).ToArray()
'______________________________________Problem
Dim OnlyColumns As String() = {"B", "C"}
'Is 3D Array
Dim arrProblem = (From row In MyDataTable.AsEnumerable()
Select New Object() {OnlyColumns.Select(Function(h) row.Item(h)).ToArray()}).ToArray()
```
Maybe this will work:
Dim arr = (From row In MyDataTable.AsEnumerable()
Select OnlyColumns.Select(Function(h) row.Item(h)).ToArray).ToArray
Not sure ...
Dim table As New DataTable
table.Columns.Add("Col1", GetType(Integer))
table.Columns.Add("Col2", GetType(String))
table.Columns.Add("Col3", GetType(String))
table.Rows.Add(25, "Col1 A", "10")
table.Rows.Add(50, "Col1 B", "50")
table.Rows.Add(10, "Col1 C", "51")
table.Rows.Add(21, "Col1 D", "52")
table.Rows.Add(100, "Col1 E", "11")
table.Rows.Add(100, "Col1 F", "12")
table.Rows.Add(100, "Col1 G", "11")
table.Rows.Add(100, "Col1 H", "12")
Dim ie As IEnumerable
ie = From rw In table.Rows
Select New List(Of Object) From {DirectCast(rw, DataRow).Item("Col1"),
DirectCast(rw, DataRow).Item("Col3")}