ダッチオーブンの底

好奇心旺盛でいろんなことにチャレンジするが、ことごとく失敗ばかりする文系未経験プログラマーが体験して、皆さんの役に立ちそうな情報を発信していくブログです。

C# データテーブルのソートがうまくかからない時

データテーブルを並び替えるときにintで数字として並べ替えたいといった場合にデータテーブルだとその
型を持ってない時があるので

//DataTableのdtがあるとして、その中のcntをint型で並び替えたい
DataView dv = new DataView(dt);
dv.Table.Columns.Add("num", typeof(int));
dv.Table.Columns["num"].Expression = "CONVERT(" + dt.Columns["cnt"] + " , 'System.Int32') ";
dv.Sort = "num DESC";
dv.Table.Columns.Remove("num");


いったん一時的にそのデータ型の列を作って、その型に合わせて並び替えをした後に
一時的に作ったその列を消す。