TableCell Web サーバー コントロール
Table コントロールのセルを表し、それらのセルをプログラムによって操作できるようにします。
<asp:TableCellid="TableCell1" ColumnSpan="colcount" RowSpan="rowcount" HorizontalAlign="Center|Justify|Left|NotSet|Right" VerticalAlign="Bottom|Middle|NotSet|Top" Wrap="True|False" runat="server">Cell text</asp:TableCell>
解説
TableCell クラスのインスタンスは、Table コントロールのセルを表します。各行のセルは、その行を表す TableRow の Cells コレクションに格納されます。セルの内容を操作するには、Text プロパティを使用します。
このクラスを使用して、セルの内容の表示方法を制御できます。セルの内容の水平方向と垂直方向の配置を指定するには、それぞれ HorizontalAlign プロパティと VerticalAlign プロパティを設定します。Wrap プロパティを使用すると、セルの末尾に到達したときに、セルの内容を自動的に改行するかどうかを指定できます。
Table コントロール内で、セルが占有する行または列の数も指定できます。RowSpan プロパティと ColumnSpan プロパティによって、使用する行と列の数がそれぞれ制御されます。
注意 テキストは、TableCell コントロールに表示される前には HTML エンコードされません。これにより、テキストの HTML タグ内にスクリプトを埋め込むことができるようになります。コントロールの値がユーザーによって入力された場合は、セキュリティの脆弱性への対策として、入力された値を必ず検証してください。
TableCell Web サーバー コントロールのプロパティとイベントの詳細については、TableCell クラスのドキュメントを参照してください。
例
TableCell を使用して、Table コントロールのセルを表す方法を次の例に示します。
<%@ Page Language="VB" AutoEventWireup="True" %>
<html>
<head>
<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>
</head>
<body>
<form runat="server">
<h3>TableCell Example</h3>
<asp:Table id="Table1"
Font-Name="Verdana"
Font-Size="8pt"
CellPadding="5"
CellSpacing="0"
BorderWidth="1"
Gridlines="Both"
runat="server"/>
</form>
</body>
</html>
[C#]
<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
<script runat="server">
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>
</head>
<body>
<form runat=server>
<h3><TableCell Example</h3>
<asp:Table id="Table1"
GridLines="Both"
HorizontalAlign="Center"
Font-Name="Verdana"
Font-Size="8pt"
CellPadding="15"
CellSpacing="0"
runat="server"/>
</form>
</body>
</html>