HtmlTable 服务器控件声明性语法

[本文档仅供预览,在以后的发行版中可能会发生更改。包含的空白主题用作占位符。]

创建一个服务器端控件,该控件映射到 <table> HTML 元素并允许您创建表。

<table
    EnableViewState="False|True"
    Id="string"
    Visible="False|True"
    OnDataBinding="OnDataBinding event handler"
    OnDisposed="OnDisposed event handler"
    OnInit="OnInit event handler"
    OnLoad="OnLoad event handler"
    OnPreRender="OnPreRender event handler"
    OnUnload="OnUnload event handler"
    runat="server"
    >

   <tr>
      <td></td>
   </tr>

</table>

备注

使用 HtmlTable 控件对 HTML <table> 元素进行编程。 HtmlTable 控件由一些行组成(由 HtmlTableRow 对象表示

),这些行存储在表的 Rows 集合中。 每行均由存储在行的 Cells 集合中的单元格(由 HtmlTableCell 对象表示)组成。

若要创建表,首先应在页上的窗体中声明一个 HtmlTable 控件。 然后,将 HtmlTableRow 对象放置在 HtmlTable 控件的开始和结束标记之间(对于表中所需的每一行放置一个对象)。 定义表中的行之后,声明位于每个 HtmlTableRow 对象的开始和结束标记之间的 HtmlTableCell对象以创建该行的单元格。

备注

请确保每一行和每一列中的单元格数目正确,否则该表可能不会按预期的方式显示。一般情况下,各行的单元格数应相同。同样,各列的单元格数也应相同。如果要合并单元格,则各行的宽度应相同,各列的高度也应相同。

HtmlTable 控件允许您自定义表的外观。 通过设置 BgColorBorderBorderColorHeightWidth 属性,可以分别指定表的背景色、边框宽度、边框颜色、表高度和表宽度。 通过设置 CellSpacingCellPadding 属性,还可以控制单元格间的间距以及单元格内容与单元格边框间的间距。

示例

下面的示例基于用户在两个 HtmlSelect 控件中的选择生成表行和表单元格。 每次加载页时,该代码会检查以了解用户已在 HtmlSelect 控件中选择了何值。 基于这些值动态生成 HtmlTable 控件中的行数和列数。 若要构造表,请创建该表的行(由 HtmlTableRow 对象表示)并将它们添加到 HtmlTable 控件的 Rows 集合中。 若要构造行,请创建该行的单元格(由 HtmlTableCell 对象表示)并将它们添加到 HtmlTableRowCells 集合中。

<%@ Page Language="VB" AutoEventWireup="True" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    Sub Page_Load(sender As Object, e As EventArgs)
        Dim row As Integer = 0
        ' Generate rows and cells.
        Dim numrows As Integer = Convert.ToInt32(Select1.Value)
        Dim numcells As Integer = Convert.ToInt32(Select2.Value)
        Dim j As Integer

        For j = 0 To numrows - 1
            Dim r As New HtmlTableRow()
            ' Set bgcolor on alternating rows.
            If row Mod 2 = 1 Then
                r.BgColor = "Gainsboro"
            End If
            row += 1

            Dim i As Integer
            For i = 0 To numcells - 1
               Dim c As New HtmlTableCell()
               c.Controls.Add(New _
                   LiteralControl("row " & j.ToString() & _
                   ", cell " & i.ToString()))
               r.Cells.Add(c)
            Next i
            Table1.Rows.Add(r)
         Next j
      End Sub 
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>HtmlTable Control</title>
</head>
<body>  
<form id="Form1" runat="server">
   <div>

   <h3>HtmlTable Example</h3>

      <br />
      <table id="Table1"  cellspacing="0" runat="server"
         style="border-width:1; border-color: Black; padding: 5"
             /> 
      <br />
      Table rows:
      <select id="Select1" runat="server">
         <option value="1">1</option>
         <option value="2">2</option>
         <option value="3">3</option>
         <option value="4">4</option>
         <option value="5">5</option>
      </select>
      <br />
      Table cells:
      <select id="Select2" runat="server">
         <option value="1">1</option>
         <option value="2">2</option>
         <option value="3">3</option>
         <option value="4">4</option>
         <option value="5">5</option>
      </select>
      <input id="Submit1" type="submit" 
         value="Generate Table" runat="server" />

   </div>
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
      void Page_Load(Object sender, EventArgs e) 
      {
         int row = 0;
         // Generate rows and cells.
         int numrows = Convert.ToInt32(Select1.Value);
         int numcells = Convert.ToInt32(Select2.Value);

         for (int j = 0; j < numrows; j++) 
         {
            HtmlTableRow r = new HtmlTableRow();
            // Set bgcolor on alternating rows.
            if (row%2 == 1)
               r.BgColor="Gainsboro";
            row++;

            for (int i = 0; i < numcells; i++) 
            {
               HtmlTableCell c = new HtmlTableCell();
               c.Controls.Add(new LiteralControl("row " + j.ToString() +
                    ", cell " + i.ToString()));
               r.Cells.Add(c);
            }
            Table1.Rows.Add(r);
         }
      }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>HtmlTable Control</title>
</head>
<body>  
<form id="Form1" runat="server">
   <div>

   <h3>HtmlTable Example</h3>

   <table id="Table1" 
      style="border-width:1; border-color:Black; padding:5"
      cellspacing="0" runat="server" /> 
      <br />

      Table rows:
      <select id="Select1" runat="server">
         <option value="1">1</option>
         <option value="2">2</option>
         <option value="3">3</option>
         <option value="4">4</option>
         <option value="5">5</option>
      </select>
      <br />
      Table cells:
      <select id="Select2" runat="server">
         <option value="1">1</option>
         <option value="2">2</option>
         <option value="3">3</option>
         <option value="4">4</option>
         <option value="5">5</option>
      </select>
      <input id="Submit1" type="submit" 
         value="Generate Table" runat="server" />

   </div>
</form>
</body>
</html>

请参见

参考

HtmlTable

HtmlTableCell 服务器控件声明性语法

HtmlTableRow 服务器控件声明性语法

HtmlForm 服务器控件声明性语法

System.Web.UI.HtmlControls

其他资源

HTML 服务器控件