Tips and tricks for .NET using ASP and VB code.

Transpose DataTable (swap rows with columns)

        Dim NewTable As Data.DataTable = TransposeTable(OldTable)

Private Function TransposeTable(ByVal InputTable As Data.DataTable) As Data.DataTable
Dim OutputTable As New Data.DataTable
OutputTable.Columns.Add(InputTable.Columns(0).ColumnName)
For Each InputRow As Data.DataRow In InputTable.Rows
Dim NewColumnName As String = InputRow.Item(0)
OutputTable.Columns.Add(NewColumnName)
Next InputRow
For RowCount As Integer = 1 To InputTable.Columns.Count - 1
Dim NewRow As Data.DataRow = OutputTable.NewRow
NewRow.Item(0) = InputTable.Columns(RowCount).ColumnName
For ColumnCount As Integer = 0 To InputTable.Rows.Count - 1
Dim ColumnValue As String = InputTable.Rows(ColumnCount)(RowCount)
NewRow(ColumnCount + 1) = ColumnValue
Next ColumnCount
OutputTable.Rows.Add(NewRow)
Next RowCount
Return OutputTable
End Function

No comments:

Post a Comment

Search This Blog