0

I can dynamically create ordinary tables with

Dim tRow As New TableRow() tblKategorie.Rows.Add(tRow) and Dim tCell As New TableCell() tRow.Cells.Add(tCell)

But now I need a complex table like this:enter image description here

How to create such this table dynamically? How can I merge cells and columns to get this result? I would be very grateful for examples or links that will help me understand this

1

1 Answer 1

3

You use RowSpan and ColumnSpan for that.

'create a new table with some properties
Dim table As Table = New Table
table.CellPadding = 5
table.CellSpacing = 0
table.Width = 500
table.Height = 200

'this is just to visualize the layout
table.Attributes.Add("border", "1")

'the first row that spans all 3 columns
Dim row1 As TableRow = New TableRow
Dim cell1a As TableCell = New TableCell
cell1a.ColumnSpan = 3
row1.Cells.Add(cell1a)

'the second row where the first column spans 3 rows
Dim row2 As TableRow = New TableRow
Dim cell2a As TableCell = New TableCell
cell2a.RowSpan = 3
Dim cell2b As TableCell = New TableCell
Dim cell2c As TableCell = New TableCell
row2.Cells.Add(cell2a)
row2.Cells.Add(cell2b)
row2.Cells.Add(cell2c)

'the third row where the second column spans 2 rows
Dim row3 As TableRow = New TableRow
Dim cell3b As TableCell = New TableCell
cell3b.RowSpan = 2
Dim cell3c As TableCell = New TableCell
row3.Cells.Add(cell3b)
row3.Cells.Add(cell3c)

'the last row containing just one cell
Dim row4 As TableRow = New TableRow
Dim cell4c As TableCell = New TableCell
row4.Cells.Add(cell4c)

'add the rows to the table
table.Rows.Add(row1)
table.Rows.Add(row2)
table.Rows.Add(row3)
table.Rows.Add(row4)

'add the table to the placeholder
PlaceHolder1.Controls.Add(table)
Sign up to request clarification or add additional context in comments.

1 Comment

Thank you so much. This helped me a lot and will help in the future

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.