新聞中心
1. 直接用Linq對DataTable進(jìn)行選?。?/p>

成都創(chuàng)新互聯(lián)公司是一家網(wǎng)站設(shè)計(jì)公司,集創(chuàng)意、互聯(lián)網(wǎng)應(yīng)用、軟件技術(shù)為一體的創(chuàng)意網(wǎng)站建設(shè)服務(wù)商,主營產(chǎn)品:成都響應(yīng)式網(wǎng)站建設(shè)公司、高端網(wǎng)站設(shè)計(jì)、成都全網(wǎng)營銷。我們專注企業(yè)品牌在網(wǎng)站中的整體樹立,網(wǎng)絡(luò)互動的體驗(yàn),以及在手機(jī)等移動端的優(yōu)質(zhì)呈現(xiàn)。成都做網(wǎng)站、網(wǎng)站建設(shè)、移動互聯(lián)產(chǎn)品、網(wǎng)絡(luò)運(yùn)營、VI設(shè)計(jì)、云產(chǎn)品.運(yùn)維為核心業(yè)務(wù)。為用戶提供一站式解決方案,我們深知市場的競爭激烈,認(rèn)真對待每位客戶,為客戶提供賞析悅目的作品,網(wǎng)站的價(jià)值服務(wù)。
- var selectedRows = from r in m_Dt.AsEnumerable() orderby r.Field
("postDate") descending select r; - return selectedRows.Take(_RecordCount).ToList();
也就是先把DataTable中的DataRow進(jìn)行排序,再take走前*條DataRow.
這種方法的缺點(diǎn)是,返回的結(jié)果集是泛型List,而不是DataView,如果需要組合成DataView排序,請借鑒2中的方法。
2. 自己寫方法實(shí)現(xiàn):
- 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);
即可。 其實(shí)也就是先排序,再用前*條記錄組成一個(gè)新的DataView排序。
【編輯推薦】
- 你知道C#排序的編寫及性能嗎?
- C#中用鼠標(biāo)移動頁面功能的實(shí)現(xiàn)
- C# 2010命名和可選參數(shù)的新特性
- 討論:C# 4.0新特性dynamic有何用?
- C# 4.0新特性dynamic作用淺析
本文標(biāo)題:簡單談?wù)勅绾螌?shí)現(xiàn)對DataView排序
分享地址:http://www.dlmjj.cn/article/dphddcp.html


咨詢
建站咨詢
