Export (0) Print
Expand All

Table Class

Displays a table on a Web page.

For a list of all members of this type, see Table Members.

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

[Visual Basic]
Public Class Table
   Inherits WebControl
[C#]
public class Table : WebControl
[C++]
public __gc class Table : public WebControl
[JScript]
public class Table extends WebControl

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Remarks

The Table control allows you to build an HTML table and specify its characteristics in a straightforward manner. A table can be built at design time given some static content, but the power of a Table Web server control is often realized when the table is built programmatically with dynamic contents.

It is important to remember that any programmatic addition or modification of table rows or cells will not persist across postbacks. This is because table rows and cells are controls of their own, and not properties of the Table control. To persist any changes to the table, rows and cells must be reconstructed after each postback. In fact, if substantial modifications are expected, it is recommended that a DataList or DataGrid control be used instead of the Table control. As a result, the Table class is primarily used by control developers.

CAUTION   This control can be used to display user input, which might include malicious client script. Check any information that is sent from a client for executable script, SQL statements, or other code before displaying it in your application. ASP.NET provides an input request validation feature to block script and HTML in user input. Validation server controls are also provided to assess user input. For more information, see Validation Server Controls.

Example

[Visual Basic, C#] The following example demonstrates how to create a table at design time. The table contains two rows of two cells each.

[Visual Basic] 
<%@ Page Language="VB" AutoEventWireup="True" %>
 <html><body>
     <h3>Table example, constructed at design time</h3>
 <form runat=server>
 <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>
 </form>
 </body></html>

[C#] 
<%@ Page Language="C#" AutoEventWireup="True" %>
 <html><body>
     <h3>Table example, constructed at design time</h3>
 <form runat=server>
 <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>
 </form>
 </body></html>

[Visual Basic, C#] The following example demonstrates how to construct a table programmatically. Creating a table dynamically consists of three steps. First, create TableCell objects to represent the cells in a row. Content for the cells is added by either setting the Text property or by adding controls to the Control.Controls collection of the TableCell. Next, create a TableRow to represent a row in the table. Add the TableCell objects created earlier to the Cells collection of the TableRow. Finally, add the TableRow to the Rows collection of the Table control. Repeat this process for each row in the table.

[Visual Basic] 
<%@ Page Language="VB" AutoEventWireup="True" %>

 <html>
 <head>
     <script language="VB" 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>
     <h3>Table Example, constructed programmatically</h3>
     <form runat=server>
         <asp:Table id="Table1" 
          GridLines="Both" 
          HorizontalAlign="Center" 
          Font-Name="Verdana" 
          Font-Size="8pt" 
          CellPadding=15 
          CellSpacing=0 
          Runat="server"/>
     </form>
 </body>
 </html>

[C#] 
<%@ Page Language="C#" AutoEventWireup="True" %>

 <html>
 <head>
     <script language="C#" 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>
     <h3>Table Example, constructed programmatically</h3>
     <form runat=server>
         <asp:Table id="Table1" 
          GridLines="Both" 
          HorizontalAlign="Center" 
          Font-Name="Verdana" 
          Font-Size="8pt" 
          CellPadding=15 
          CellSpacing=0 
          Runat="server"/>
     </form>
 </body>
 </html>

[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Namespace: System.Web.UI.WebControls

Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family

Assembly: System.Web (in System.Web.dll)

See Also

Table Members | System.Web.UI.WebControls Namespace | TableCell | TableRow | TableCellCollection | TableRowCollection | DataGrid | DataList

Show:
© 2014 Microsoft