免責事項:道路は場所の紹介を学ぶためにたくさん持っている、それにあなたを助けるために願っています!https://blog.csdn.net/mingzaiwang/article/details/77935046
公共のDataTable RowsToCol(DataTableのDT) { しようと { int型をrowCount = DT.Rows.Count。 int型columnsCount = DT.Columns.Count。 DataTableの結果=新しいDataTableを(); DataTableのRowsDT =新しいDataTableを(); DataTableのCOLSDT =新しいDataTableを(); 以下のために(INT i = 0; I <行カウント; 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())。 } 文字列[] RowsName =新しい文字列[columnsCount]。 (I 0 = int型、iがcolumnsCountを<; Iは++)のため { RowsName [I] = DT.Columns [I] .ColumnName.Tostring()。 } のための(INT rowsi = 0; rowsi <RowsName.Length; rowsi) { RowsDT.Rows.Add(新しい文字列[] {RowsName [rowsi]})。 } //行转列的核心部分 のための(INT columnsi = 0; columnsi <columnsCount; columnsi ++) { たDataRow DR = COLsDT.NewRow()。 (INT rowj = 0; rowj <をrowCount、rowj ++)のために { DR [rowj] =のDT.Rowsは[rowj] [columnsi] .toString(); } COLsDT.Rows.Add(DR)。 } のための(INT columnsi = 0; columnsi <columnsCount; columnsi ++) { たDataRow resultdr = result.NewRow()。 用(INT rowj = 0; rowj <をrowCount、rowj ++) { IF(rowj == 0) { resultdr [rowj] =のRowsDT.Rows [columnsi] [0] .ToString(); } 他 { resultdr [rowj] =のColsDT.Rowsは[columnsi] [rowj])(.ToString。 } } result.Rows.Add(resultdr)。 } 戻り値の結果; } キャッチ(例外例) { 新しい例外をスローする(ex.ToString())。 } }