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

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

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。