1. ホーム
  2. .net

[解決済み] データテーブルの並べ替え

2022-02-03 01:14:20

質問

あるデータテーブルを次の2つの方法でソートしようとしました。

table.DefaultView.Sort = "Town ASC, Cutomer ASC"

table.Select("", "Town ASC, Cutomer ASC")

しかし、どれもうまくいきませんでした。常に元の順番で表示されます。この問題を解決するためのアイデアはありますか?

解決方法は?

DefaultViewにソート式を設定した後( table.DefaultView.Sort = "Town ASC, Cutomer ASC" のインスタンスではなく、DefaultViewを使用してテーブルをループする必要があります。

foreach(DataRowView r in table.DefaultView)
{
    //... here you get the rows in sorted order
    Console.WriteLine(r["Town"].ToString());
}

DataTableのSelectメソッドを使用すると、DataRowの配列が生成されます。この配列は、DataTable ではなく、あなたのリクエストによってソートされます。

DataRow[] rowList = table.Select("", "Town ASC, Cutomer ASC");
foreach(DataRow r in rowList)
{
    Console.WriteLine(r["Town"].ToString());
}