如题:Datable1 ID     Name   Age   Mail
  1      张三    100   [email protected]  2      test    100   [email protected]  3      test1    100   [email protected]转换成
DataTableID       1    2     3Name     张三  test  test1Age      100   100   100Mail     [email protected]     [email protected]  [email protected]

解决方案 »

  1.   

    dt1是原来的table,dt2是要的table   
      for(   int   i=0;i<dt1.rows.count;i++   )   
      {   
            for(   int;j=i;j<dt1.cloumns.count;j++   )   
            {   
                    dt2[0][j]   =   dt1[i][0];       //将dt1的第i行第0列的数据赋给dt2的第0行第j列   
              }   
      }
      

  2.   

     
               DataTable _Table =new DataTable();
                _Table.Columns.Add("ID");
                _Table.Columns.Add("Name");
                _Table.Columns.Add("Age");
                _Table.Columns.Add("Mail");            _Table.Rows.Add(new object[]{"1","张三","100","[email protected]"});
                _Table.Rows.Add(new object[]{"2","test","100","[email protected]"});
                _Table.Rows.Add(new object[]{"3","test1","100","[email protected]"});            dataGridView1.DataSource = GetReverseTable(_Table);
            public DataTable GetReverseTable(DataTable p_Table)
            {
                DataTable _Table = new DataTable();
                for (int i = 0; i != p_Table.Rows.Count + 1; i++)
                {
                    _Table.Columns.Add("Column"+i.ToString());
                }
               
                for (int i = 0; i != p_Table.Columns.Count; i++)
                {
                    object[] _ObjectValue = new object[p_Table.Rows.Count + 1];
                    _ObjectValue[0] = p_Table.Columns[i].ColumnName;
                    for (int z = 0; z != p_Table.Rows.Count; z++)
                    {
                        _ObjectValue[z + 1] = p_Table.Rows[z][i];                    
                    }
                    _Table.Rows.Add(_ObjectValue);
                }
                return _Table;
            }
      

  3.   


                DataTable dt1 = new DataTable();
                dt1.Columns.AddRange(new DataColumn[] { new DataColumn("ID"), new DataColumn("Name"), new DataColumn("Age"), new DataColumn("Mail") });
                dt1.Rows.Add(1, "张三", 100, " [email protected]");
                dt1.Rows.Add(2, " test", 100, " [email protected] ");
                dt1.Rows.Add(3, "test1", 100, "[email protected] ");
                DataTable dt2 = new DataTable();
                dt2.Columns.Add(new DataColumn());
                for (int i = 0; i < dt1.Rows.Count; i++)
                {
                    dt2.Columns.Add(new DataColumn());
                }
                for (int i = 0; i < dt1.Columns.Count; i++)
                {
                    DataRow row = dt2.NewRow();
                    row[0] = dt1.Columns[i].ColumnName;
                    for (int j = 1; j <= dt1.Rows.Count; j++)
                    {
                        row[j] = dt1.Rows[j - 1][i];
                    }
                    dt2.Rows.Add(row);
                }
      

  4.   

    for(int i=0;i <DataTable1.Columns.count;i++  )  

       for(int j=0;j<DataTable1.Rows.count;j++)
       {
           if(j==0)
           {
              DataTable[i][j] = DataTable1.Columns[i].ColumnName;
           }
           DataTable[i][j] = DataTable1[j][i];
       }
    }
      

  5.   


    for(int i=0;i <DataTable1.Columns.count;i++  )  

       for(int j=0;j<DataTable1.Rows.count;j++)
       {
           if(j==0)
           {
              DataTable[i][j] = DataTable1.Columns[i].ColumnName;
           }
           else if(i==0)
           {
              DataTable.Columns[j].ColumnName = DataTable1[j][i];
           }
           else
           {
              DataTable[i][j] = DataTable1[j][i];
           }
       }
    }