Table クラス

Web ページ上にテーブルを表示します。

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)

構文

'宣言
Public Class Table
    Inherits WebControl
    Implements IPostBackEventHandler
'使用
Dim instance As Table
public class Table : WebControl, IPostBackEventHandler
public ref class Table : public WebControl, IPostBackEventHandler
public class Table extends WebControl implements IPostBackEventHandler
public class Table extends WebControl implements IPostBackEventHandler
適用できません。

解説

Table コントロールを使用すると、簡単に HTML テーブルを構築してその特性を指定できます。静的な内容を指定したテーブルをデザイン時に構築することもできますが、通常、Table Web サーバー コントロールは、プログラムによって動的な内容でテーブルを構築する場合に特に役立ちます。

テーブルの行またはセルに対するプログラムによる追加または変更は、サーバーへのポスト後には持続しません。これは、テーブルの行やセルは独自のコントロールであり、Table コントロールのプロパティではないためです。テーブルへの変更を永続化するには、ポストバックを行うたびに行とセルを再構築する必要があります。大幅な変更が予測される場合は、Table コントロールの代わりに DataListDataGrid、または GridView コントロールを使用することをお勧めします。その結果、Table クラスは、主にコントロールの開発者によって使用されることになります。

注意に関するメモ注意 :

このコントロールは、ユーザー入力を表示するために使用できます。ユーザー入力には悪意のあるクライアント スクリプトが含まれている可能性があります。アプリケーションに表示する前に、クライアントから送信された実行スクリプト、SQL ステートメントなどのコードの情報はすべて検査してください。入力テキストをコントロールに表示する前に、検証コントロールを使用してユーザー入力を検証できます。ASP.NET には入力要求の検証機能があり、ユーザー入力の中のスクリプトおよび HTML をブロックできます。詳細については、「標準コントロールのセキュリティ保護」、「方法 : HTML エンコーディングを文字列に適用して Web アプリケーションをスクリプトによる攻略から保護する」、および「ASP.NET Web ページにおけるユーザー入力の検証」を参照してください。

ユーザー補助

このコントロールに既定でレンダリングされるマークアップは、Web Content Accessibility Guidelines (WCAG) 1.0 の優先度 1 ガイドラインなどのユーザー補助に関する標準に適合しない可能性があります。このコントロールのユーザー補助サポートの詳細については、「ASP.NET コントロールとユーザー補助」を参照してください。

トピック 場所
チュートリアル : カスタム ビジネス オブジェクトへのデータ バインディング Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : Visual Web Developer での HTML テーブルの編集 Visual Studio での ASP .NET Web アプリケーションの作成
方法 : Visual Web Developer で HTML テーブル要素の追加や削除を行う Visual Studio での ASP .NET Web アプリケーションの作成
方法 : Visual Web Developer で HTML テーブル要素のサイズを変更する Visual Studio での ASP .NET Web アプリケーションの作成
方法 : Web フォーム ページに Table Web サーバー コントロールを追加する (Visual Studio) Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : Visual Web Developer での ASP.NET マスタ ページの作成と使用 Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : Visual Web Developer での ASP.NET マスタ ページの作成と使用 Visual Web Developer でのアプリケーションの作成
チュートリアル : Visual Web Developer での HTML テーブルの編集 Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Visual Web Developer で HTML テーブル要素の追加や削除を行う Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Visual Web Developer で HTML テーブル要素のサイズを変更する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Table Web サーバー コントロールに行およびセルを動的に追加する Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : カスタム ビジネス オブジェクトへのデータ バインディング
 Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Web フォーム ページに Table Web サーバー コントロールを追加する (Visual Studio) Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : Visual Web Developer での HTML テーブルの編集 Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Visual Web Developer で HTML テーブル要素の追加や削除を行う Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Visual Web Developer で HTML テーブル要素のサイズを変更する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Table Web サーバー コントロールに行およびセルを動的に追加する Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : カスタム ビジネス オブジェクトへのデータ バインディング
 Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Web フォーム ページに Table Web サーバー コントロールを追加する (Visual Studio) Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Web フォーム ページに Table Web サーバー コントロールを追加する ASP .NET Web アプリケーションの作成
方法 : Table Web サーバー コントロールに行およびセルを動的に追加する ASP .NET Web アプリケーションの作成

使用例

デザイン時にテーブルを作成する方法のコード例を次に示します。このテーブルには、セルを 2 つ含む行が 2 行あります。

メモメモ :

次のコード サンプルはシングルファイル コード モデルを使用しており、分離コード ファイルに直接コピーされた場合は正常に動作しない可能性があります。このコード サンプルは、拡張子が .aspx の空のテキスト ファイルにコピーする必要があります。Web フォームのコード モデルの詳細については、「ASP.NET Web ページのコード モデル」を参照してください。

<%@ Page Language="VB" %>

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

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Table Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    <h3>Table example, constructed at design time</h3>
    <asp:Table id="Table1" runat="server"
        CellPadding="10" 
        GridLines="Both"
        HorizontalAlign="Center">
        <asp:TableRow>
            <asp:TableCell>
                Row 0, Col 0
            </asp:TableCell>
            <asp:TableCell>
                Row 0, Col 1
            </asp:TableCell>
        </asp:TableRow>
        <asp:TableRow>
            <asp:TableCell>
                Row 1, Col 0
            </asp:TableCell>
            <asp:TableCell>
                Row 1, Col 1
            </asp:TableCell>
        </asp:TableRow>
    </asp:Table>

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

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

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    <h3>Table example, constructed at design time</h3>
    <asp:Table id="Table1" runat="server"
        CellPadding="10" 
        GridLines="Both"
        HorizontalAlign="Center">
        <asp:TableRow>
            <asp:TableCell>
                Row 0, Col 0
            </asp:TableCell>
            <asp:TableCell>
                Row 0, Col 1
            </asp:TableCell>
        </asp:TableRow>
        <asp:TableRow>
            <asp:TableCell>
                Row 1, Col 0
            </asp:TableCell>
            <asp:TableCell>
                Row 1, Col 1
            </asp:TableCell>
        </asp:TableRow>
    </asp:Table>
    
    </div>
    </form>
</body>
</html>

テーブルをプログラムによって構築する方法のコード例を次に示します。テーブルを動的に作成する手順は 3 段階に分かれています。まず、行内のセルを表す TableCell オブジェクトを作成します。セルの内容を追加するには、Text プロパティを設定するか、TableCellControl.Controls コレクションにコントロールを追加します。次に、テーブル内の行を表す TableRow を作成します。そして、作成済みの TableCell オブジェクトを、TableRowCells コレクションに追加します。最後に、Table コントロールの Rows コレクションに、TableRow を追加します。テーブル内の行ごとにこの手順を繰り返してください。

<%@ Page Language="VB" %>

<!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)
        ' Generate rows and cells.           
        Dim numrows As Integer = 3
        Dim numcells As Integer = 2
        Dim j As Integer
        For j = 0 To numrows - 1
            Dim r As New TableRow()
            Dim i As Integer
            For i = 0 To numcells - 1
                Dim c As New TableCell()
                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 'Page_Load
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Programmatic Table Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    <h3>Table Example, constructed programmatically</h3>
    <asp:Table id="Table1" 
        GridLines="Both" 
        HorizontalAlign="Center" 
        Font-Names="Verdana" 
        Font-Size="8pt" 
        CellPadding="15" 
        CellSpacing="0" 
        Runat="server"/>

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

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

<script runat="server">

    private void Page_Load(Object sender, EventArgs e)
    {
        // Generate rows and cells.           
        int numrows = 3;
        int numcells = 2;
        for (int j = 0; j < numrows; j++)
        {          
            TableRow r = new TableRow();
            for (int i = 0; i < numcells; i++) {
                TableCell c = new TableCell();
                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 runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    <h3>Table Example, constructed programmatically</h3>
    <asp:Table id="Table1" 
        GridLines="Both" 
        HorizontalAlign="Center" 
        Font-Names="Verdana" 
        Font-Size="8pt" 
        CellPadding="15" 
        CellSpacing="0" 
        Runat="server"/>

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

.NET Framework のセキュリティ

  • AspNetHostingPermission  (ホスト環境での動作に必要なアクセス許可)要求値 : LinkDemand; アクセス許可値 : Minimal
  • AspNetHostingPermission  (ホスト環境での動作に必要なアクセス許可)要求値 : InheritanceDemand; アクセス許可値 : Minimal

継承階層

System.Object
   System.Web.UI.Control
     System.Web.UI.WebControls.WebControl
      System.Web.UI.WebControls.Table

スレッド セーフ

この型の public static (Visual Basicでは共有) メンバはすべて,スレッド セーフです。インスタンス メンバの場合は,スレッド セーフであるとは限りません。

プラットフォーム

Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

バージョン情報

.NET Framework

サポート対象 : 3.0,2.0,1.1,1.0

参照

関連項目

Table メンバ
System.Web.UI.WebControls 名前空間
TableCell
TableRow
TableHeaderRow
TableFooterRow
TableCellCollection
TableRowCollection
DataGrid
DataList

その他の技術情報

Table、TableRow、TableCell の各 Web サーバー コントロール
標準コントロールのセキュリティ保護