次のようにストアド プロシージャを実行して、動的な DataTable を作成します。
あいうえお
1 0 0 1
0 0 0 1
1 1 0 1
各列の合計に基づいて降順に並べ替えるにはどうすればよいですか? 私はそれがほしい:
DABC
1 1 0 0
1 0 0 0
1 1 1 0
各列の合計を格納するリストを作成しました。
List<Column> temptArray;
public class Column
{
public int columnIndex;
public int count;
}
合計を計算します
private void calculateSum()
{
temptArray= new List<Column>();
for (int column = 0; column <= dataTable.Columns.Count -1; column++)
temptArray.Add(new Column{ columnIndex = column });
for (int row = 0; row <= dataTable.Rows.Count - 1; row++)
for (int column = 0; column <= dataTable.Columns.Count - 1; column++)
temptArray[column].count+= (int)dataTable.Rows[row].ItemArray.GetValue(column);
}
それは正常に動作します。
次に、temptArray を並べ替えます。
temptArray = temptArray.OrderByDescending(x => x.count).ToList();
私のtemptArrayは今注文されるべきです:DABC
temptArray のように DataTable の順序を変更するにはどうすればよいですか?