This documentation is archived and is not being maintained.

TableDesigner Class

Extends design-time behavior for the Table Web server control.

For a list of all members of this type, see TableDesigner Members.


[Visual Basic]
Public Class TableDesigner
   Inherits ControlDesigner
public class TableDesigner : ControlDesigner
public __gc class TableDesigner : public ControlDesigner
public class TableDesigner extends ControlDesigner

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.


[Visual Basic] The following code example creates a designer class, named StyledTableDesigner, that derives from the TableDesigner class and is used to display two cells at design time for a class that derives from the Table class.

[Visual Basic] 
' Create a class, named StyledTableDesigner,
' that derives from the TableDesigner class.
' This class displays a class named StyledTable
' at design time.
Public Class StyledTableDesigner
   Inherits TableDesigner
   ' 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
           ' Create two cells to display
           ' in a row at design time.
           If emptyTable Then
               Dim row As TableRow = New TableRow()
               Dim i As Integer
               For i = 0 To numcells - 1
                   Dim c As TableCell = New TableCell()
                   c.Text = "Cell #" & counter.ToString()
                   counter += 1
               Next i
               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
                   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
                          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()

           ' If the StyledTable was empty before the dummy text was added,
           ' restore it to that state.
           If emptyTable Then
               ' 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
               End If
           End If
       End Try
       Return designTimeHTML
   End Function

End Class

[Visual Basic] The following code example uses the DesignerAttribute to associate the StyledTableDesigner class with the StyledTable class so that it can be displayed at design-time.

[Visual Basic] 
' Create a class that uses the StyledTableDesigner
' class to display its contents at design time.
    <Designer("Examples.AspNet.Design.StyledTableDesigner", "TableDesigner")> _
    Public Class StyledTable
 Inherits Table 

   Private tableStyle As Style = New Style()
   Public Sub New()
      tableStyle.BackColor = Color.LightBlue
      tableStyle.BorderColor = Color.Black
      CellSpacing = 4
      CellPadding = 0
      GridLines = GridLines.None
      BorderWidth = Unit.Point(1)
      Width = Unit.Percentage(100)
      Height = Unit.Percentage(100)

   End Sub
    End Class

[C#, C++, JScript] No example is available for C#, C++, or JScript. To view a Visual Basic example, click the Language Filter button Language Filter in the upper-left corner of the page.


Namespace: System.Web.UI.Design.WebControls

Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family

Assembly: System.Design (in System.Design.dll)

See Also

TableDesigner Members | System.Web.UI.Design.WebControls Namespace | Table