Ho un esempio fatto col GridView. Non so a che serva, ma se si vogliono unire colonne, credo che funzioni.
codice:
    Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
        Select Case e.Row.RowType
            Case DataControlRowType.Header
                Dim tcc As TableCellCollection = e.Row.Cells
                Dim nTotalCols As Integer = tcc.Count
                For i As Integer = nTotalCols - 1 To 1 Step -1
                    e.Row.Cells.RemoveAt(i)
                Next
                Dim c As TableCell = e.Row.Cells(0)
                c.ColumnSpan = nTotalCols
                c.Text = "Id regione e nome regione"

            Case DataControlRowType.DataRow
                Dim tcc As TableCellCollection = e.Row.Cells
                Dim nTotalCols As Integer = tcc.Count
                For i As Integer = nTotalCols - 1 To 1 Step -1
                    e.Row.Cells.RemoveAt(i)
                Next
                Dim c As TableCell = e.Row.Cells(0)
                c.ColumnSpan = nTotalCols
                Dim dr As System.Data.Common.DbDataRecord = DirectCast(e.Row.DataItem(), System.Data.Common.DbDataRecord)
                c.Text = "Id regione = " & dr(0).ToString() & ", Nome regione = " & dr(1).ToString()
        End Select
    End Sub