且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

交换DataTable中的行列位置

更新时间:2022-09-23 20:10:57

比如我们在数据库中取出的数据放到DataTable中如下:

标题 列一 列二 列三
行一 34 23 65
行二 67 56 89

 

行列交换后得到的数据为:

标题 行一 行二
列一 34 67
列二 23 56
列三 65 89


下面是交换的函数,代码如下:

private DataTable SwapDTCR(DataTable inputDT)
        {
            DataTable outputDT = new DataTable();

            //标题的位置不变
            outputDT.Columns.Add(inputDT.Columns[0].ColumnName.ToString());
            
            foreach (DataRow inRow in inputDT.Rows)
            {
                string newColName = inRow[0].ToString();
                outputDT.Columns.Add(newColName);
            }
                
            for (int rCount = 1; rCount <= inputDT.Columns.Count - 1; rCount++)
            {
                DataRow newRow = outputDT.NewRow();
               
                newRow[0] = inputDT.Columns[rCount].ColumnName.ToString();
                for (int cCount = 0; cCount <= inputDT.Rows.Count - 1; cCount++)
                {
                    string colValue = inputDT.Rows[cCount][rCount].ToString();
                    newRow[cCount + 1] = colValue;
                }
                outputDT.Rows.Add(newRow);
            }
            return outputDT;

}


本文转自生鱼片博客园博客,原文链接:http://www.cnblogs.com/carysun/archive/2009/11/22/Swap-DTCR.html如需转载请自行联系原作者