zoukankan      html  css  js  c++  java
  • 竖表转横表(支持多列)

    在LoveCherry的blog中(http://www.cnblogs.com/lovecherry/archive/2005/04/28/146749.html)有一个竖表转横表的方法,但是只能支持只有一列的DataTable, 我改进了一下 可以支持多列.
    public DataTable MakeData(DataTable dt,int iSize,int[] iColumnID) //isize:每列行数 iColumnID 需要横向排列的列的序号数组
            {   
                
    int ColumnCount=iColumnID.Length;
                
    int itmp=dt.Rows.Count%iSize; 
                
    int iColumn; //列数
                if(itmp==0
                    iColumn
    =dt.Rows.Count/iSize; 
                
    else 
                    iColumn
    =dt.Rows.Count/iSize+1
                DataTable newdt
    =new DataTable(); 
                
    for(int i=0;i<iColumn;i++
                
    {  
                    
    for(int j=0;j<ColumnCount;j++)
                    
    {  string aa=dt.Columns[iColumnID[j]].ColumnName+i;
                        DataColumn dc
    =new DataColumn(dt.Columns[iColumnID[j]].ColumnName+i,dt.Columns[iColumnID[j]].DataType); 
                    
                        newdt.Columns.Add(dc); 
                    }

                }
     
                
    for(int i=0;i<iSize;i++
                
    {         
                    DataRow dr
    =newdt.NewRow(); 
                    
    for(int j=0;j<iColumn;j++
                    

                        
    for(int k=0;k<ColumnCount;k++)
                        
    {
                            
    if((i+j*iSize)<dt.Rows.Count) 
                            
    {  string aa=dt.Columns[iColumnID[k]].ColumnName+j;
                                dr[dt.Columns[iColumnID[k]].ColumnName
    +j]=dt.Rows[i+j*iSize][iColumnID[k]]; 
                            }

                        }

                    }
     
                    newdt.Rows.Add(dr);                 
                }
     
                
    return newdt; 
            }
     
  • 相关阅读:
    浅谈面向对象语言中对象的使用
    淘宝店铺搜索工具(提升淘宝店铺排名人气)
    JavaScript学习总结二:js闭包(Closure)概念
    JavaScript学习总结一:js常见问题
    GC原理解析(c#)
    VS2010中的测试(2)——单元测试
    VS2010中的测试(3)——数据驱动单元测试
    领域驱动设计实践(二)
    俞敏洪在清华励志演讲
    Ioc最佳实践
  • 原文地址:https://www.cnblogs.com/phiree/p/280460.html
Copyright © 2011-2022 走看看