在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 |