自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

簡(jiǎn)單談?wù)勅绾螌?shí)現(xiàn)對(duì)DataView排序

開(kāi)發(fā) 后端
通過(guò)DataView的RowFilter屬性不能進(jìn)行Select Top * ……的操作。同樣,DataTable也沒(méi)有直接的方法可以進(jìn)行篩選(除非自己寫(xiě)排序篩選算法,麻煩),而下面可有兩種方法可以以較少的代碼來(lái)實(shí)現(xiàn)Select Top * ……。

1. 直接用Linq對(duì)DataTable進(jìn)行選?。?/P>

  1. var selectedRows = from r in m_Dt.AsEnumerable() orderby r.Field<DateTime>("postDate") descending select r;  
  2. return selectedRows.Take(_RecordCount).ToList(); 

也就是先把DataTable中的DataRow進(jìn)行排序,再take走前*條DataRow.

這種方法的缺點(diǎn)是,返回的結(jié)果集是泛型List,而不是DataView,如果需要組合成DataView排序,請(qǐng)借鑒2中的方法。 

2. 自己寫(xiě)方法實(shí)現(xiàn):

  1. private static DataView GetTopDataViewRows(DataView dv, int n)  
  2.       {  
  3.           DataTable dt = dv.Table.Clone();  
  4.     
  5.          for (int i = 0; i < n - 1; i++)  
  6.           {  
  7.               if (i >= dv.Count)  
  8.               {  
  9.                   break;  
  10.              }  
  11.              dt.ImportRow(dv[i].Row);  
  12.          }  
  13.         return new DataView(dt, dv.RowFilter, dv.Sort, dv.RowStateFilter);  
  14.      }  

使用:

  1. m_View.Sort = "postDate DESC";  
  2. m_View = GetTopDataViewRows(m_View, 9); 

即可。 其實(shí)也就是先排序,再用前*條記錄組成一個(gè)新的DataView排序。

【編輯推薦】

  1. 你知道C#排序的編寫(xiě)及性能嗎?
  2. C#中用鼠標(biāo)移動(dòng)頁(yè)面功能的實(shí)現(xiàn)
  3. C# 2010命名和可選參數(shù)的新特性
  4. 討論:C# 4.0新特性dynamic有何用?
  5. C# 4.0新特性dynamic作用淺析
責(zé)任編輯:彭凡 來(lái)源: cnblogs
相關(guān)推薦

2011-05-27 16:57:13

Android widget

2023-07-05 15:44:15

數(shù)據(jù)驅(qū)動(dòng)數(shù)字化轉(zhuǎn)型

2022-06-30 09:10:33

NoSQLHBaseRedis

2023-11-28 12:25:02

多線程安全

2019-09-10 09:58:19

Dubbo負(fù)載均衡Hash

2009-11-17 13:45:12

Oracle SQL調(diào)

2021-09-02 22:52:16

ValueDictionary排序

2017-10-10 14:38:35

2015-10-20 15:09:55

排序算法

2016-12-30 13:59:44

Java 8比較器List 排序

2010-05-11 19:16:03

Unix系統(tǒng)

2022-05-20 07:59:35

數(shù)據(jù)庫(kù)數(shù)字基礎(chǔ)設(shè)施

2011-08-11 09:56:50

模式

2011-07-13 13:39:46

CHARINDEXSqlServer

2021-10-09 10:25:41

排序應(yīng)用場(chǎng)景

2024-09-20 05:46:00

2024-06-13 08:01:19

2024-09-11 16:49:55

2012-02-08 10:12:19

Java反射

2009-11-30 18:59:52

PHP數(shù)組排序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)