最近工作中,使用到pcv排序,對pcv排序進行了簡單的總結。
一般情況下,對結果集進行簡單排序,我會直接使用orderby方法,如:
pagedcollectionview pcv = new pagedcollectionview(list.orderbydescending(p=>p.rzdh));//融資單號排序
如果想要更複雜的排序,怎麼辦?比如要先按a公升序,再b降序,再按c......,這就要使用新的方法。
icollectionview介面定義了乙個sortdescriptions集合,用以設定檢視的排序規則,我們可以通過新增多個sortdescription物件來完成這種復合排序需求。如:
#region 通過pcv針對集合進行排序
pagedcollectionview pcv = new pagedcollectionview(list);
pcv.sortdescriptions.clear();
var sortdescription1 = new system.componentmodel.sortdescription("rzdh", system.componentmodel.listsortdirection.descending);//融資單號降序
var sortdescription2 = new system.componentmodel.sortdescription("zdrq", system.componentmodel.listsortdirection.ascending);//製單日期公升序
pcv.sortdescriptions.add(sortdescription1);
pcv.sortdescriptions.add(sortdescription2);
#endregion
總結如上,繼續學習。
排序學習之 氣泡排序
原理 對一組資料,比較相鄰資料的大小,將值小資料在前面,值大的資料放在後面。以下都是公升序排列,即從小到大排列 舉例說明 arr array 6,3,8,2,9,1 arr 有6個資料,按照兩兩比較大小如下,注意 比較輪數 和 每輪比較次數 第一輪排序 第一次比較 6和3比較 結果 3 6 8 2 ...
排序學習之 選擇排序
php 如下 在一列數字中,選出最小數與第乙個位置的數交換。然後在剩下的數當中再找最小的與第二個位置的數交換,如此迴圈到倒數第二個數和最後乙個數比較為止。以下都是公升序排列,即從小到大排列 舉例說明 arr array 6,3,8,2,9,1 第一輪 第一次比較,第乙個數 6 與 3,8,2,9,1...
排序學習筆記
以前對直接選擇排序和簡單插入排序總是混淆,今天分辨一下 直接選擇 將index為0 的值記為large,遍歷比較從1到n的元素,選出最大或最小的那位,和0比較,看是否交換,然後迴圈繼續 index為1,直到結束。for index 0 indexlarge x index index index f...