首页 > 其他 > 详细

对datatable操作,查询

时间:2014-04-08 22:41:09      阅读:467      评论:0      收藏:0      [点我收藏+]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#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 
 
 
 
harp] view plaincopyprint?
#region 获取DataTable前几条数据 
/// <summary> 
/// 获取DataTable前几条数据 
/// </summary> 
/// <param name="TopItem">前N条数据</param> 
/// <param name="oDT">源DataTable</param> 
/// <returns></returns> 
public static DataTable DtSelectTop(int TopItem, DataTable oDT) 
    if (oDT.Rows.Count < TopItem) return oDT; 
   
    DataTable NewTable = oDT.Clone(); 
    DataRow[] rows = oDT.Select("1=1"); 
    for (int i = 0; i < TopItem; i++) 
    
        NewTable.ImportRow((DataRow)rows[i]); 
    
    return NewTable; 
#endregion 
  
#region 获取DataTable中指定列的数据 
/// <summary> 
/// 获取DataTable中指定列的数据 
/// </summary> 
/// <param name="dt">数据源</param> 
/// <param name="tableName">新的DataTable的名词</param> 
/// <param name="strColumns">指定的列名集合</param> 
/// <returns>返回新的DataTable</returns> 
public static DataTable GetTableColumn(DataTable dt, string tableName, params string[] strColumns) 
    DataTable dtn = new DataTable(); 
    if (dt == null
    
        throw new ArgumentNullException("参数dt不能为null"); 
    
    try 
    
        dtn = dt.DefaultView.ToTable(tableName, true, strColumns); 
    
    catch (Exception e) 
    
        throw new Exception(e.Message); 
    
    return dtn; 
#endregion 

  

对datatable操作,查询,布布扣,bubuko.com

对datatable操作,查询

原文:http://www.cnblogs.com/lhws/p/3652726.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!