HtmlTable 服务器控件声明性语法
更新:2007 年 11 月
创建一个服务器端控件,该控件映射到 <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 控件允许您自定义表的外观。通过设置 BgColor、Border、BorderColor、Height 和 Width 属性,可以分别指定表的背景色、边框宽度、边框颜色、表高度和表宽度。通过设置 CellSpacing 和 CellPadding 属性,还可以控制单元格间的间距以及单元格内容与单元格边框间的间距。
示例
下面的示例基于用户在两个 HtmlSelect 控件中的选择生成表行和表单元格。每次加载页时,该代码会检查以了解用户已在 HtmlSelect 控件中选择了何值。基于这些值动态生成 HtmlTable 控件中的行数和列数。若要构造表,请创建该表的行(由 HtmlTableRow 对象表示)并将它们添加到 HtmlTable 控件的 Rows 集合中。若要构造行,请创建该行的单元格(由 HtmlTableCell 对象表示)并将它们添加到 HtmlTableRow 的 Cells 集合中。
<%@ 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>