A是一个DataTable,对它的列“Times”按降序排列,当“Times”相同时,对列ErrorRate也进行按降序排列。
即列Times排序优先率大于列ErrorRate
形如:
id Times ErrorRate
1 10 5
2 10 4
3 10 3
4 8 1
5 7 10
6 7 9好像用DataView DefaultView Sort方法来做只能完成单列排序
DataView _MyDV=A.DefaultView;
_MyDV. Sort = "Times desc ";
即列Times排序优先率大于列ErrorRate
形如:
id Times ErrorRate
1 10 5
2 10 4
3 10 3
4 8 1
5 7 10
6 7 9好像用DataView DefaultView Sort方法来做只能完成单列排序
DataView _MyDV=A.DefaultView;
_MyDV. Sort = "Times desc ";
这样试试
使用 Sort 属性,您可以指定单个或多个列排序顺序并包含 ASC(升序)和 DESC(降序)参数。
(Asc升序可省略,多列排序用","隔开)[code=C#]DataView _MyDV=A.DefaultView;
_MyDV.Sort = "Times desc,ErrorRate desc"; code]
_MyDV.Sort = "Times desc,ErrorRate desc";
如果是在内存里,提供一个笨方法,但觉得能用。
A是一个DataTable,对它的列“Times”按降序排列,当“Times”相同时,对列ErrorRate也进行按降序排列。1、首先假设Times,ErrorRate的位数最多5位。(Times为倍数,ErrorRate为错误代码5位应该够了)
2、返回值中增加一列,列名为TimesAndErrorRate,
列值为 lpad(Times,5,'0')||lpad(ErrorRate,5,'0') as TimesAndErrorRate
3、在内存里按照TimesAndErrorRate desc排序。