新聞中心
這里有您想知道的互聯網營銷解決方案
簡單談談如何實現對DataView排序
1. 直接用Linq對DataTable進行選?。?/p>

成都創(chuàng)新互聯公司是一家網站設計公司,集創(chuàng)意、互聯網應用、軟件技術為一體的創(chuàng)意網站建設服務商,主營產品:成都響應式網站建設公司、高端網站設計、成都全網營銷。我們專注企業(yè)品牌在網站中的整體樹立,網絡互動的體驗,以及在手機等移動端的優(yōu)質呈現。成都做網站、網站建設、移動互聯產品、網絡運營、VI設計、云產品.運維為核心業(yè)務。為用戶提供一站式解決方案,我們深知市場的競爭激烈,認真對待每位客戶,為客戶提供賞析悅目的作品,網站的價值服務。
- var selectedRows = from r in m_Dt.AsEnumerable() orderby r.Field
("postDate") descending select r; - return selectedRows.Take(_RecordCount).ToList();
也就是先把DataTable中的DataRow進行排序,再take走前*條DataRow.
這種方法的缺點是,返回的結果集是泛型List,而不是DataView,如果需要組合成DataView排序,請借鑒2中的方法。
2. 自己寫方法實現:
- private static DataView GetTopDataViewRows(DataView dv, int n)
- {
- DataTable dt = dv.Table.Clone();
- for (int i = 0; i < n - 1; i++)
- {
- if (i >= dv.Count)
- {
- break;
- }
- dt.ImportRow(dv[i].Row);
- }
- return new DataView(dt, dv.RowFilter, dv.Sort, dv.RowStateFilter);
- }
使用:
- m_View.Sort = "postDate DESC";
- m_View = GetTopDataViewRows(m_View, 9);
即可。 其實也就是先排序,再用前*條記錄組成一個新的DataView排序。
【編輯推薦】
- 你知道C#排序的編寫及性能嗎?
- C#中用鼠標移動頁面功能的實現
- C# 2010命名和可選參數的新特性
- 討論:C# 4.0新特性dynamic有何用?
- C# 4.0新特性dynamic作用淺析
文章名稱:簡單談談如何實現對DataView排序
文章出自:http://m.5511xx.com/article/dphddcp.html


咨詢
建站咨詢
