C # DataTable column line transfected implemented method

Disclaimer: The road has a lot to learn referral of place, hope to help you on it! https://blog.csdn.net/mingzaiwang/article/details/77935046
public DataTable RowsToCol(DataTable DT)
{
       try
        {  
                      int  rowCount=DT.Rows.Count;
                      int  columnsCount=DT.Columns.Count;
                      DataTable result=new DataTable();
                      DataTable RowsDT=new DataTable();
                      DataTable COLSDT=new DataTable();
                      for(int i=0;i<RowCount;i++)
                      {
                              result.Columns.Add(DT.Rows[i][1].ToString());
                              RowsDT.Columns.Add(DT.Rows[i][1].ToString());
                              COLsDT.Columns.Add(DT.Rows[i][1].ToString());
                      }
                      string[] RowsName=new string[columnsCount];
                      for(int i=0;i<columnsCount;i++)
                      {                           
                      RowsName[i]=DT.Columns[i].ColumnName.Tostring();
                      }
                      for(int rowsi=0;rowsi<RowsName.Length;rowsi)
                      {
                      RowsDT.Rows.Add(new string[] {RowsName[rowsi]});
                      }
                      // row turn a core part of the column
                      for(int columnsi=0;columnsi<columnsCount;columnsi++)
                      {
                           DataRow dr=COLsDT.NewRow();
                           for(int rowj=0;rowj<rowCount;rowj++)
                           {
                                  dr[rowj]=DT.Rows[rowj][columnsi].toString();
                           }
                           COLsDT.Rows.Add(dr);
                      }
                      
             for(int columnsi=0;columnsi<columnsCount;columnsi++)
             {
                 DataRow resultdr=result.NewRow();
                 for(int rowj=0;rowj<rowCount;rowj++)
                 {
                    if(rowj==0)
                     {
                       resultdr[rowj]=RowsDT.Rows[columnsi][0].ToString();
                     }
                     else
                     {
                      resultdr[rowj]=ColsDT.Rows[columnsi][rowj].ToString();
                      }
                  }
                 result.Rows.Add(resultdr);
            }
            
            return   result;
       }
       catch(Exception ex)
       {
            throw new Exception(ex.ToString());
       }
}

Guess you like

Origin blog.csdn.net/mingzaiwang/article/details/77935046