zoukankan      html  css  js  c++  java
  • DataTable分组归类

    我们在做项目的时候,经常需要根据表或DataTable中某些字段来归类,为此就写出以下方法,帮组需要的人。

    #region 对DataTable进行分组 + public void GroupDataRows(IEnumerable<DataRow> source, List<DataTable> destination, string[] groupByFields, int fieldIndex, DataTable schema)
            /// <summary>
            /// 对DataTable进行分组
            /// </summary>
            /// <param name="source">要分组DataTable的Row集合</param>
            /// <param name="destination">分组之后的数据</param>
            /// <param name="groupByFields">分组字段</param>
            /// <param name="fieldIndex">字段索引(从什么字段开始)</param>
            /// <param name="schema">要分组DataTable</param>
            public void GroupDataRows(IEnumerable<DataRow> source, List<DataTable> destination, string[] groupByFields, int fieldIndex, DataTable schema)
            {
                if (fieldIndex >= groupByFields.Length || fieldIndex < 0)
                {
                    DataTable dt = schema.Clone();
                    foreach (DataRow row in source)
                    {
                        DataRow dr = dt.NewRow();
                        dr.ItemArray = row.ItemArray;
                        dt.Rows.Add(dr);
                    }
                    destination.Add(dt);
                    return;
                }
    
                var results = source.GroupBy(o => o[groupByFields[fieldIndex]]);
                foreach (var rows in results)
                {
                    GroupDataRows(rows, destination, groupByFields, fieldIndex + 1, schema);
                }
    
                fieldIndex++;
            }
            #endregion
    

      

    中山赢友网络科技有限公司(http://www.winu.net/)承接IOS、Android、Window Phone 8+、Window 10 App应用开发,IOS、Android、Window Phone 8+游戏开发,.NET/PHP软件系统开发,HTML5网站、游戏、微官网开发。欢迎致电:0760-88809987、18676265646 陈先生。
  • 相关阅读:
    Servlet3.0-使用注解定义Servlet
    poj 1256 Anagram—next_permutation的神奇应用
    poj 1664 放苹果 (划分数)
    poj 1011 Sticks
    poj和hdu部分基础算法分类及难度排序
    Notepad++支持jQuery、html5、css3
    Codeforces Round #395 (Div. 2) C. Timofey and a tree
    Codeforces Round #390 (Div. 2) D. Fedor and coupons
    bazel-编译动态库
    bazel-编译多目标
  • 原文地址:https://www.cnblogs.com/wln3344/p/4409229.html
Copyright © 2011-2022 走看看