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

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

<今回の目的>

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

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

            /*
             * DataTableから指定した並び替え順で
             * 一致する行を取得する
             */
            DataTable dt = new DataTable();
            dt.Columns.Add("A");
            dt.Columns.Add("B");
            dt.Columns.Add("C");
            for (int i = 0; i < 5; i++)
            {
                DataRow dr = dt.NewRow();
                dr["A"] = "1";
                dr["B"] = "B" + i.ToString();
                dr["C"] = "C" + i.ToString();
                dt.Rows.Add(dr);
            }

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

            // 取得件数が1件以上の場合
            if (drs.Length > 0)
            {
                // 取得した行数分、ループを繰り返す
                for (int idx = 0; idx < drs.Length; idx++)
                {
                    Console.WriteLine(drs[idx]["C"]);
                }
            }