DataRow配列をDataTableに変換するには

DataTable.Selectメソッドで取得したDataRow配列をDataTableに変換するにはCopyToDataTableメソッドを使用する。

使用するためにはSystem.Data.DataSetExtensionsの参照設定が必要。

 

Module Module1
 
    Sub Main()
        Dim dt As New DataTable
 
        Dim dc() As DataColumn = {New DataColumn("ID"GetType(Integer)),
                                  New DataColumn("Value"GetType(String))}
 
        dt.Columns.Addrange(dc)
 
        dt.Rows.Add({1, "あ"})
        dt.Rows.Add({2, "い"})
        dt.Rows.Add({3, "う"})
 
        Dim dr() As DataRow = dt.Select("ID > 1")
        Dim dtSelect As DataTable = dr.CopyToDataTable
 
        For i = 0 To dtSelect.Rows.Count - 1
            Console.WriteLine(dtSelect.Rows(i).Item("Value").ToString)
        Next
    End Sub
 
End Module