本文实例讲述了C#操作DataTable方法实现过滤、取前N条数据及获取指定列数据列表的方法。分享给大家供大家参考。具体分析如下:
#region DataTable筛选,排序返回符合条件行组成的新DataTable或直接用DefaultView按条件返回
///
/// DataTable筛选,排序返回符合条件行组成的新DataTable
///或直接用DefaultView按条件返回
/// eg:SortExprDataTable(dt,"Sex='男'","Time Desc",1)
///
/// 传入的DataTable
/// 筛选条件
/// 排序条件
/// 1,直接用DefaultView按条件返回,效率较高;
/// 2,DataTable筛选,排序返回符合条件行组成的新DataTable
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#程序设计有所帮助。