TableDesigner クラス
アセンブリ: System.Design (system.design.dll 内)


このセクションには、2 つのコード例が含まれています。最初のコード例では、TableDesigner クラスからクラスを派生する方法を示します。2 番目のコード例では、デザイン時に StyledTable クラスを表示する方法を示します。
StyledTableDesigner という名前のデザイナ クラスを TableDesigner クラスから派生して作成する方法を次のコード例に示します。このクラスは、デザイン時に、Table クラスから派生したクラスに 2 つのセルを表示するために使用されます。
' 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 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 End Class
DesignerAttribute を使用して StyledTableDesigner クラスを StyledTable クラスに関連付け、デザイン時に表示されるようにするコード例を次に示します。
' 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

System.ComponentModel.Design.ComponentDesigner
System.Web.UI.Design.HtmlControlDesigner
System.Web.UI.Design.ControlDesigner
System.Web.UI.Design.WebControls.TableDesigner


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- TableDesigner クラスのページへのリンク