Controllo server Web Table

Dichiara una tabella e consente di modificarla a livello di codice.

<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>

Osservazioni

La classe Table consente di creare una tabella HTML e di specificarne le caratteristiche. In fase di progettazione è possibile creare una tabella con contenuto statico, ma il controllo Table viene spesso creato a livello di codice con contenuti dinamici.

Nota   Le aggiunte o le modifiche a livello di codice di una riga o di una cella di tabella non verranno mantenute durante l'invio al server. Le righe e le celle di tabella sono controlli, non proprietà del controllo Table. Le modifiche apportate alle righe o alle celle della tabella devono essere nuovamente eseguite dopo ogni invio al server. Se si prevedono modifiche sostanziali, utilizzare i controlli DataList o DataGrid al posto del controllo Table.

Ogni controllo Table si compone di righe, rappresentate da istanze della classe TableRow e memorizzate nell'insieme Rows del controllo. Ogni riga si compone di celle, rappresentate da istanze della classe TableCell e memorizzate nell'insieme Cells di ogni controllo TableRow.

Se si imposta la proprietà BackImageUrl, è possibile specificare un'immagine sullo sfondo del controllo Table. Per impostazione predefinita, l'allineamento orizzontale degli elementi nella tabella non è impostato. Se si desidera specificare l'allineamento orizzontale, impostare la proprietà HorizontalAlignment. La spaziatura tra le singole celle viene controllata dalla proprietà CellSpacing. Impostare la proprietà CellPadding per specificare la spaziatura fra il contenuto di una cella e il bordo della cella. Per visualizzare i bordi di cella, impostare la proprietà GridLines. È possibile visualizzare le linee orizzontali, quelle verticali o entrambe.

Attenzione   Il testo non viene codificato in formato HTML prima di essere visualizzato nel controllo Table. È pertanto possibile incorporare script all'interno dei tag HTML presenti nel testo. Se i valori del controllo provengono dall'input dell'utente, assicurarsi di convalidare tali valori per evitare problemi di protezione.

Per informazioni dettagliate sulle proprietà e sugli eventi del controllo Table vedere la documentazione di Classe Table.

Esempio

Nell'esempio seguente viene mostrato come creare in modo dinamico un controllo Table nella pagina Web.

<%@ 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>

Vedere anche

Controlli server Web | Classe Table