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 コントロールを使用して、<table> HTML 要素をプログラムで制御します。 HtmlTable コントロールは行で構成され (HtmlTableRow
オブジェクトで表現)、各行はテーブルの Rows コレクションに格納されます。 各行は、行の Cells コレクションに格納されたセル (HtmlTableCell オブジェクトで表現) で構成されます。
表を作成するには、まず、ページのフォームで HtmlTable コントロールを宣言します。 次に、HtmlTable コントロールの開始タグと終了タグの間に、表に挿入する行ごとに 1 つの HtmlTableRow オブジェクトを配置します。 表の行を定義した後、各 HtmlTableRow オブジェクトの開始タグと終了タグの間で、HtmlTableCell オブジェクトを宣言して、行のセルを作成します。
メモ |
---|
各行および各列に、正しい数のセルが作成されていることを確認してください。セルの数が正しくないと、表は意図したようには表示されません。通常、どの行にも同じ数のセルがあります。同様に、どの列にも同じ数のセルがあります。セルを拡張する場合は、すべての行の幅が同じで、すべての列の高さが同じになるようにする必要があります。 |
HtmlTable コントロールを使用すると、表の外観をカスタマイズできます。 BgColor、Border、BorderColor、Height、および Width の各プロパティを設定することによって、それぞれ、表の背景色、境界線の幅、境界線の色、高さ、幅を指定できます。 CellSpacing プロパティおよび CellPadding プロパティを設定することによって、セルとセルの間隔、セルの内容とセルの境界線の間隔も制御できます。
使用例
2 つの 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>
参照
参照
HtmlTableCell サーバー コントロールの宣言構文