C#操作DataTable方法实现过滤、取前N条数据及获取指定列数据列表的方法

内容摘要
本文实例讲述了C#操作DataTable方法实现过滤、取前N条数据及获取指定列数据列表的方法。分享给大家供大家参考。具体分析如下:


#region DataTable筛选,排序返回符合条件行组
文章正文

本文实例讲述了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#程序设计有所帮助。


代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!