我想使用列索引而不是列名来对数据表进行排序。我可以使用ORDER BY 2
或ORDER BY 3 DESC, 4 DESC
来执行此操作。但是对于DB性能问题,我希望通过使用CPU性能来实现此目的。
那我该如何在c#中做到这一点?
示例,这对我不起作用:
sortColumn = "3 desc, 4 desc";
dt.DefaultView.Sort = sortColumn.ToString();
dt = dt.DefaultView.ToTable();
答案 0 :(得分:5)
试试这个方法:
dt.DefaultView.Sort = sortColumn;
dt = dt.DefaultView.ToTable();
而不是
sortColumn = "3 desc, 4 desc";
你可以使用
sortColumn = dt.Columns[3].ColumnName + " DESC," + dt.Columns[4].ColumnName + " DESC";
答案 1 :(得分:1)
dt.DefaultView.Sort = dt.Columns [index] .ColumnName +“DESC”;