Public Class DynamicallyBuildTables
Inherits System.Web.UI.Page
' Inherits System.Web.UI.WebControls
#Region " Web Form Designer Generated Code "
'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Protected WithEvents txtRows As System.Web.UI.WebControls.TextBox
Protected WithEvents txtCols As System.Web.UI.WebControls.TextBox
Protected WithEvents chkBorder As System.Web.UI.WebControls.CheckBox
Protected WithEvents cmdCreate As System.Web.UI.WebControls.Button
Protected WithEvents Tbl1 As System.Web.UI.WebControls.Table
Protected WithEvents ddl1 As System.Web.UI.WebControls.DropDownList
'NOTE: The following placeholder declaration is required by the Web Form Designer.
'Do not delete or move it.
Private designerPlaceholderDeclaration As System.Object
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
If IsPostBack = False Then
Tbl1.Visible = False
ddl1.Items.Add("Dashed")
ddl1.Items.Add("Dotted")
ddl1.Items.Add("Doubled")
ddl1.Items.Add("Groove")
ddl1.Items.Add("Inset")
ddl1.Items.Add("None")
ddl1.Items.Add("NotSet")
ddl1.Items.Add("Outset")
ddl1.Items.Add("Ridge")
ddl1.Items.Add("Solid")
Else
Tbl1.Visible = True
End If
' Tbl1.BorderStyle = BorderStyle.Inset
Tbl1.BorderWidth = Unit.Pixel(1)
End Sub
Private Sub cmdCreate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCreate.Click
'Remove all current rows and cells.
'This would not be necessary if you set
'EnableViewState = False.
Tbl1.Controls.Clear()
Dim strRows As String = txtRows.Text
Dim strCols As String = txtCols.Text
Dim strBorder As String = "BorderStyle." & ddl1.SelectedItem.Text
Dim i, j As Integer
For i = 1 To Val(strRows)
'Create a new tablerow object.
Dim rowNew As New TableRow
'put the new tablerow into the table object.
Tbl1.Controls.Add(rowNew)
For j = 1 To Val(strCols)
'Create a new TableCell object.
Dim cellNew As New TableCell
'***************************** standard text
'cellNew.Text = "Example Cell (" & i.ToString() & ","
'cellNew.Text &= j.ToString() & ")<br />"
'*****************************
'***************************** Added as objects
Dim lblNew As New Label
Dim imgNew As New System.Web.UI.WebControls.Image
imgNew.ImageUrl = "/images/smile.gif"
lblNew.Text = "hello"
cellNew.Controls.Add(lblNew)
cellNew.Controls.Add(imgNew)
'*****************************
If chkBorder.Checked Then
' Not working accurately, but dows show how to
' dynamically set border style.
txtCols.Text = strBorder
cellNew.BorderStyle = strBorder 'Bombs right here
cellNew.BorderWidth = Unit.Pixel(4)
End If
'Put the TableCell in the TableRow.
rowNew.Controls.Add(cellNew)
Next
Next
End Sub
End Class