Table-Webserversteuerelement
Mit diesem Steuerelement wird eine Tabelle deklariert, die sich programmgesteuert bearbeiten lässt.
<asp:Tableid="Table1" BackImageUrl="url" CellSpacing="cellspacing" CellPadding="cellpadding" GridLines="None|Horizontal|Vertical|Both" HorizontalAlign="Center|Justify|Left|NotSet|Right" runat="server"> <asp:TableRow> <asp:TableCell> Cell text </asp:TableCell> </asp:TableRow></asp:Table>
Hinweise
Mit der Table-Klasse können Sie eine HTML-Tabelle erstellen und deren Charakteristika angeben. Eine Tabelle kann zur Entwurfszeit mit statischem Inhalt erstellt werden, das Table-Steuerelement wird jedoch häufig programmgesteuert mit dynamischem Inhalt generiert.
Hinweis Programmgesteuerte Hinzufügungen oder Änderungen in einer Tabellenzeile oder -zelle bleiben nicht von einer Übermittlung an den Server zur nächsten erhalten. Tabellenzeilen und -zellen sind keine Eigenschaften des Table-Steuerelements, sondern selbst Steuerelemente. Änderungen an Tabellenzeilen oder -zellen müssen nach jeder Übermittlung an den Server rekonstruiert werden. Wenn umfassende Änderungen zu erwarten sind, verwenden Sie statt des Table-Steuerelements die Steuerelemente DataList oder DataGrid.
Jedes Table-Steuerelement besteht aus Zeilen (dargestellt durch Instanzen der TableRow-Klasse), die in der Rows-Auflistung des Steuerelements gespeichert sind. Jede Zeile besteht aus Zellen (dargestellt durch Instanzen der TableCell-Klasse), die in der Cells-Auflistung jedes TableRow-Elements gespeichert sind.
Sie können ein Bild im Hintergrund des Table-Steuerelements anzeigen, indem Sie die BackImageUrl-Eigenschaft setzen. Standardmäßig ist die horizontale Ausrichtung der Elemente in der Tabelle nicht festgelegt. Wenn Sie die horizontale Ausrichtung festlegen möchten, setzen Sie die HorizontalAlignment-Eigenschaft. Die Abstände zwischen den einzelnen Zellen werden durch die CellSpacing-Eigenschaft gesteuert. Sie können den Abstand zwischen dem Inhalt einer Zelle und deren Rahmen angeben, indem Sie die CellPadding-Eigenschaft setzen. Um die Zellrahmen darzustellen, setzen Sie die GridLines-Eigenschaft. Sie können die horizontalen Linien, die vertikalen Linien oder beide anzeigen.
Vorsicht Text wird nicht in HTML codiert, bevor er im Table-Steuerelement angezeigt wird. Auf diese Weise können Skripts in HTML-Tags in den Text eingebunden werden. Wenn die Werte in diesem Steuerelement aus Benutzereingaben stammen, müssen die Werte unbedingt geprüft werden, um die Sicherheit zu gewährleisten.
Weitere Informationen zu den Eigenschaften und Ereignissen des Table-Webserversteuerelements finden Sie unter Table-Klasse.
Beispiel
Das folgende Beispiel veranschaulicht das dynamische Erstellen eines Table-Steuerelements auf der Webseite.
<%@ 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>Table 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>Table 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>