This documentation is archived and is not being maintained.

TableDesigner::GetDesignTimeHtml Method

Gets the HTML that is used to represent the control at design time.

Namespace:  System.Web.UI.Design.WebControls
Assembly:  System.Design (in System.Design.dll)

public:
virtual String^ GetDesignTimeHtml() override

Return Value

Type: System::String
The HTML used to represent the control at design time.

The GetDesignTimeHtml method ensures that the table has at least one row and cell and that the cells contain some text for display at design time.

The following code example demonstrates how to override the GetDesignTimeHtml method to display rows and cells for the StyledTable class on the design surface. In the Try block, the code checks whether the table contains any rows or cells, and if it does not, creates a row and performs a loop to create two cells for the row, along with placeholder text to display in each cell at design time. If the table is not empty, but a row is, the code performs the same loop to create and populate the cells. In the Finally block, the code returns the values to their original state.

' Override the GetDesignTimeHtml method to display 
' placeholder text at design time for the  
' rows and cells of the StyledTable class. 
Public Overrides Function GetDesignTimeHtml() As String 
    Dim sTable As StyledTable = CType(Component, StyledTable)
    Dim designTimeHTML As String 
    Dim rows As TableRowCollection = sTable.Rows
    Dim cellsWithDummyContents As ArrayList = Nothing 

    Dim emptyTable As Boolean = rows.Count = 0
    Dim emptyRows As Boolean = False 
    Dim counter As Integer = 1
    Dim numcells As Integer = 2

    Try      
        ' Create two cells to display 
        ' in a row at design time. 
        If emptyTable Then 
            Dim row As TableRow = New TableRow()
            rows.Add(row)

            Dim i As Integer 
            For i = 0 To numcells - 1
                Dim c As TableCell = New TableCell()
                c.Text = "Cell #" & counter.ToString()
                counter += 1
                rows(0).Cells.Add(c)
            Next i
        Else
            emptyRows = True 
            Dim j As Integer 
            For j = 0 To rows.Count - 1
                If rows(j).Cells.Count <> 0 Then
                    emptyRows = False 
                    Exit For 
                End If 
            Next j
            If emptyRows = True Then 
                Dim k As Integer 
                For k = 0 To numcells - 1
                    Dim c As TableCell = New TableCell()
                    c.Text = "Cell #" & counter.ToString()
                    counter += 1
                    rows(0).Cells.Add(c)
                Next k
             End If 
        End If 

        If emptyTable = False Then 
            ' If the rows and cells were defined by the user, but the 
            ' cells remain empty this code defines a string to display  
            ' in them at design time. 
            Dim row As TableRow
            For Each row In rows
                Dim c As TableCell
                For Each c In row.Cells
                    If ((c.Text.Length = 0) AndAlso (c.HasControls() = False)) Then 
                       If cellsWithDummyContents Is Nothing Then
                           cellsWithDummyContents = New ArrayList()
                       End If
                       cellsWithDummyContents.Add(c)
                       c.Text = "Cell #" & counter.ToString()
                       counter += 1
                    End If 
                Next c
            Next row
        End If 
        ' Retrieve the design-time HTML for the StyledTable class.
        designTimeHTML = MyBase.GetDesignTimeHtml()

    Finally 
        ' If the StyledTable was empty before the dummy text was added, 
        ' restore it to that state. 
        If emptyTable Then
            rows.Clear()
        Else 
            ' Clear the cells that were empty before the dummy text  
            ' was added. 
            If Not (cellsWithDummyContents Is Nothing) Then 
                Dim c As TableCell
                For Each c In  cellsWithDummyContents
                    c.Text = [String].Empty
                Next c
            End If 
            If emptyRows Then
                rows(0).Cells.Clear()
            End If 
        End If 

    End Try 
    Return designTimeHTML
End Function

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
Show: