欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-11 07:50:23
本文实例讲述了c#操作datatable方法实现过滤、取前n条数据及获取指定列数据列表的方法。分享给大家供大家参考。具体分析如下: #region datatab...

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