通过执行这样的存储过程,我有一个动态数据表:
A B C D
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 顺序?