次の方法で共有


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 コントロールを使用すると、表の外観をカスタマイズできます。 BgColorBorderBorderColorHeight、および 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>

参照

参照

HtmlTable

HtmlTableCell サーバー コントロールの宣言構文

HtmlTableRow サーバー コントロールの宣言構文

HtmlForm サーバー コントロール宣言構文

System.Web.UI.HtmlControls

その他の技術情報

HTML サーバー コントロール