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 陈先生。
  • 相关阅读:
    最近我总结的常用mate标签-常用mate标签
    同一个世界(erlang解题答案)
    ranch 源码分析(完)
    ranch 源码分析(三)
    ranch 源码分析(二)
    ranch 源码分析(一)
    port 执行命令的封装和参数详解
    erlang 笔记(06/03/02)
    recon工具解读
    erlang调试方法
  • 原文地址:https://www.cnblogs.com/wln3344/p/4409229.html
Copyright © 2011-2022 走看看