C# Datatable排序與取前幾行數據


在C#中要對Datatable排序,可使用DefaultView的Sort方法。先獲取Datatable的DefaultView,然后設置 得到的Dataview的sort屬性,最后用視圖的ToTable方法將排好序的dataview導出為Datatable。
     代碼如下:
           

一、 Datatable排序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
DataTable dt = new DataTable();
     dt.Columns.Add( "ID" , typeof ( int ));
     dt.Columns.Add( "Name" , typeof ( string ));
 
     dt.Rows.Add( new object [] { 12, "lwolf" });
     dt.Rows.Add( new object [] { 100, "kkkkk" });
     dt.Rows.Add( new object [] { 19, "jim" });
     dt.Rows.Add( new object [] { 1, "test" });
 
     DataTable dtCopy = dt.Copy();
 
     DataView dv = dt.DefaultView;
     dv.Sort = "ID" ;
     dtCopy = dv.ToTable();

  

1
二、獲取DataTable前幾條數據

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#region 獲取DataTable前幾條數據 
/// <summary> 
/// 獲取DataTable前幾條數據 
/// </summary> 
/// <param name="TopItem">前N條數據</param> 
/// <param name="oDT">源DataTable</param> 
/// <returns></returns> 
public static DataTable DtSelectTop( int TopItem, DataTable oDT) 
     if (oDT.Rows.Count < TopItem) return oDT; 
   
     DataTable NewTable = oDT.Clone(); 
     DataRow[] rows = oDT.Select( "1=1" ); 
     for ( int i = 0; i < TopItem; i++) 
    
         NewTable.ImportRow((DataRow)rows[i]); 
    
     return NewTable; 
#endregion 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM