zoukankan      html  css  js  c++  java
  • DataTable转置

    转置函数,ATable转置为BTable,再次转置将恢复为ATable

    static DataTable GetTransposeDataTable(DataTable sourceDataTable)
            {
                DataTable newDataTable = new DataTable();
                for (int i = 0; i < sourceDataTable.Rows.Count; i++)
                {
                    newDataTable.Columns.Add("Column" + i, typeof(string));
                }
                foreach (DataColumn dc in sourceDataTable.Columns)
                {
                    DataRow drNew = newDataTable.NewRow();
                    for (int i = 0; i < sourceDataTable.Rows.Count; i++)
                    {
                        drNew[i] = sourceDataTable.Rows[i][dc].ToString();
                    }
                    newDataTable.Rows.Add(drNew);
                }
                return newDataTable;
            }

    测试

    源数据表格式:

       A   A   A   A   ?

       A   B   C   D   ?

       B   B   B   B   ?

       A   B   C   D   ?

       C   C   D   D   ?

       A   D   A   B   ?

       D   D   C   A   ?

       C   D   C   D   ?

       A   B   C   D   ?

       A   B   C   D   ?

    转置完成后的数据表格式:
       A   A   B   A   C   A   D   C   A   A

       A   B   B   B   C   D   D   D   B   B

       A   C   B   C   D   A   C   C   C   C

       A   D   B   D   D   B   A   D   D   D

       ?   ?   ?   ?   ?   ?   ?   ?   ?   ?

    再次转置后数据表格式:
       A   A   A   A   ?

       A   B   C   D   ?

       B   B   B   B   ?

       A   B   C   D   ?

       C   C   D   D   ?

       A   D   A   B   ?

       D   D   C   A   ?

       C   D   C   D   ?

       A   B   C   D   ?

       A   B   C   D   ?

  • 相关阅读:
    【DNN发布包解释】package 包裹
    数据仓库 SSIS
    【DNN 系列】 添加模块后不显示
    GridView 绑定 ObjectDataSource
    【DNN 系列】 MVC 分页
    关于一级指针和二级指针的简单见解
    高效使用Vector
    关于autoptr
    (转)Win10 + VMware-CentOS7文件共享、网络连接
    Linux 笔记
  • 原文地址:https://www.cnblogs.com/jeff151013/p/10593822.html
Copyright © 2011-2022 走看看