LoginSignup
0
1

More than 5 years have passed since last update.

型のないDataColumnに入っている数値を数値としてDataTableをソートする

Last updated at Posted at 2015-02-12

型のないDataColumnに入っている数値データを、DataTable.Sort()でソートしようとすると辞書順にソートされてしまうため一手間必要です。

  1. ソートしたいDataTableをDataView.Tableとして持たせる
  2. そのTableに数値の列を追加する(今回はdouble)
  3. 数値としてソートしたい列を数値に変換し2.で作成した列に与える
  4. 3.の列でソート
  5. もう3.の列は不要なので削除
  6. DataViewをDataTableに戻して終了

以下、コード

// DataTable dataTable;
DataView dataView = new DataView(dataTable);
dataView.Table.Columns.Add("num", typeof(double));
 dataView.Table.Columns["num"].Expression = "CONVERT(" + columnWantedToSort + " , 'System.Double') ";
dataView.Sort = "num";
dataView.Table.Columns.Remove("num");
DataTable sortedTable = dataView.ToTable();

本当にこんなことしないといけないんですか?

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1