Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

One way to change data table rows into columns in C# is to use the DataTable class and the LINQ query syntax. Here's an example:

DataTable originalTable = // Populate original table with data
DataTable newTable = new DataTable();

// Add columns to new table
newTable.Columns.Add("Column1");
newTable.Columns.Add("Column2");
newTable.Columns.Add("Column3");

// Use LINQ query to convert rows to columns
var query = from row in originalTable.AsEnumerable()
            group row by 1 into newTableRows
            select newTable.Rows.Add(new object[]
            {
                newTableRows.FirstOrDefault(row => row["ColumnName1"] != null)?["ColumnName1"],
                newTableRows.FirstOrDefault(row => row["ColumnName2"] != null)?["ColumnName2"],
                newTableRows.FirstOrDefault(row => row["ColumnName3"] != null)?["ColumnName3"]
            });

// Resulting data table will have rows turned into columns
DataTable resultTable = newTable;