TableDesigner.GetDesignTimeHtml 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得設計時用來表示控制項的 HTML。
public:
override System::String ^ GetDesignTimeHtml();
public override string GetDesignTimeHtml();
override this.GetDesignTimeHtml : unit -> string
Public Overrides Function GetDesignTimeHtml () As String
傳回
設計時用來表示控制項的 HTML 版本。
範例
以下程式碼範例示範如何覆寫 GetDesignTimeHtml 該方法,在設計表面上顯示類別的列與儲存格 StyledTable 。 在區 Try 塊中,程式碼會檢查表格中是否有任何列或儲存格,若沒有,則建立一列並執行迴圈,為該列建立兩個儲存格,並在設計時顯示佔位文字。 如果資料表不是空的,但有一列是空的,程式碼會執行相同的迴圈來建立並填充儲存格。 在區 Finally 塊中,程式碼會將數值回傳至原始狀態。
' 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
備註
此 GetDesignTimeHtml 方法確保表格至少有一列與一格,且格中包含部分文字供設計時顯示。