• 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 陈先生。
  • 相关阅读:
    基础很重要~~04.表表达式-上篇
    【T-SQL基础】03.子查询
    【T-SQL基础】02.联接查询
    【T-SQL基础】01.单表查询-几道sql查询题
    【.Net底层剖析】3.用IL来理解属性
    SQL-基础知识
    IL指令速查
    黑客成长之路-01.新手篇-设置路由器
    《拆掉思维里的墙》~~想跳槽的同学可以先看看这本书!
    【解决方案】安装vssdk_full.exe遇到的问题
  • 原文地址:https://www.cnblogs.com/wln3344/p/4409229.html
Copyright © 2020-2023  润新知