本文实例讲述了C#操作DataTable方法实现过滤、取前N条数据及获取指定列数据列表的方法。分享给大家供大家参考。具体分析如下:
#region DataTable筛选,排序返回符合条件行组成的新DataTable或直接用DefaultView按条件返回/// <summary>/// DataTable筛选,排序返回符合条件行组成的新DataTable///或直接用DefaultView按条件返回/// eg:SortExprDataTable(dt,"Sex='男'","Time Desc",1)/// </summary>/// <param name="dt">传入的DataTable</param>/// <param name="strExpr">筛选条件</param>/// <param name="strSort">排序条件</param>/// <param name="mode">1,直接用DefaultView按条件返回,效率较高;/// 2,DataTable筛选,排序返回符合条件行组成的新DataTable</param>public static DataTable SortDataTable(DataTable dt, string strExpr,string strSort,int mode){ switch (mode) { case 1: //方法一 直接用DefaultView按条件返回 dt.DefaultView.RowFilter = strExpr; dt.DefaultView.Sort = strSort; return dt; case 2: //方法二 DataTable筛选, //排序返回符合条件行组成的新DataTable DataTable dt1 = new DataTable(); DataRow[] GetRows = dt.Select(strExpr, strSort); //复制DataTable dt结构不包含数据 dt1 = dt.Clone(); foreach (DataRow row in GetRows) { dt1.Rows.Add(row.ItemArray); } return dt1; default: return dt; }}#endregion
希望本文所述对大家的C#程序设计有所帮助。
新闻热点
疑难解答