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

Ber*_*ncı 5 .net c# performance

我想通过使用列索引而不是列名来对数据表进行排序.我可以使用SQL ORDER BY 2ORDER BY 3 DESC, 4 DESC.But来解决数据库性能问题.我希望通过使用CPU性能来实现这一点.

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

例子,这对我不起作用:

sortColumn = "3 desc, 4 desc";
dt.DefaultView.Sort = sortColumn.ToString(); 
dt = dt.DefaultView.ToTable();
Run Code Online (Sandbox Code Playgroud)

Ars*_*yan 5

试试这个方法:

dt.DefaultView.Sort = sortColumn; 
dt = dt.DefaultView.ToTable();
Run Code Online (Sandbox Code Playgroud)

代替

sortColumn = "3 desc, 4 desc";

您可以使用

sortColumn = dt.Columns[3].ColumnName + " DESC," + dt.Columns[4].ColumnName + " DESC";

  • 你试过dt.Columns [3] .ColumnName +"DESC,"+ dt.Columns [4] .ColumnName +"DESC";? (2认同)