DataTable使用列号而不是列名进行排序

时间:2012-11-30 13:37:59

标签: c# .net performance

我想使用列索引而不是列名来对数据表进行排序。我可以使用ORDER BY 2ORDER BY 3 DESC, 4 DESC来执行此操作。但是对于DB性能问题,我希望通过使用CPU性能来实现此目的。

那我该如何在c#中做到这一点?

示例,这对我不起作用:

sortColumn = "3 desc, 4 desc";
dt.DefaultView.Sort = sortColumn.ToString(); 
dt = dt.DefaultView.ToTable();

2 个答案:

答案 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”;