【VB】DataTableから指定した並び替え順で一致する行を取得

  • このエントリーをはてなブックマークに追加

<今回の目的>

DataTableから指定した並び替え順で一致する行を取得する方法を記載しています。

以下、ソースを記載します。

        ' DataTableから指定した並び替え順で
        ' 一致する行を取得する
        Dim dt = New DataTable
        dt.Columns.Add("A")
        dt.Columns.Add("B")
        dt.Columns.Add("C")

        For idx As Integer = 0 To 5
            Dim dr As DataRow = dt.NewRow
            dr("B") = "1"
            dr("C") = "B" + idx.ToString
            dr("D") = "C" + idx.ToString
            dt.Rows.Add(dr)
        Next

        ' Cの列を昇順で並び替え、A = 「1」で一致するデータを取得
        Dim drs As DataRow() = dt.Select("A='1'", "C")
        ' DESCも使用できます。
        ' DataRow[] drs = dt.Select("A = '1'", "C DESC");

        ' 取得件数が1件以上の場合
        If (drs.Length > 0) Then

            ' 取得した行数分、ループを繰り返す
            For idx As Integer = 0 To drs.Length
                Console.WriteLine(drs(idx)("C"))
            Next
        End If