|
■No84410 (nabel さん) に返信
> ソート用のカラムを用意し、ソート順を示す値をここに入れればいいのかも知れませんが、
> 現状、2つの値を比較して、どちらを上位とするかというロジック(いわゆるCompareToのロジック)
> しか用意していないため、この方法が使えません。
その方法で充分かと。
void AddSortColumn(DataTable dt, Comparison<DataRow> comparison)
{
dt.Columns.Add("SortKey", typeof(int));
DataRow[] rows = dt.Select();
Array.Sort<DataRow>(rows, comparison);
for (int i = 0; i < rows.Length; i++)
rows[i]["SortKey"] = i;
dt.AcceptChanges();
}
|