Información general sobre los controles de servidor web Table, TableRow y TableCell

Actualización: noviembre 2007

El control Table de servidor Web permite crear tablas programables de servidor en las páginas ASP.NET. Los controles de servidor Web TableRow y TableCell proporcionan un medio para mostrar el contenido real del control Table.

Comparación entre el control Table de servidor Web y otros elementos de tabla

Normalmente, las tablas no sólo se utilizan para presentar información tabular, sino como un medio para dar formato a la información de una página Web. Hay diferentes formas de crear tablas en una página de formularios Web Forms:

  • Tabla HTML. Puede agregar un elemento HTML <table>. Si está creando una tabla estática (una tabla en la que no agregará contenido ni lo cambiará en tiempo de ejecución), debe utilizar una tabla HTML y no un control Table.

  • Control HtmlTable. Éste es un elemento HTML <table> que se ha convertido en un control de servidor HTML agregando el atributo runat=server. Puede programar este control en el código del servidor. Para obtener información detallada sobre los controles de servidor HTML, vea Información general sobre los controles de servidor Web ASP.NET.

  • Table. Control Web que permite crear y manipular tablas (por ejemplo, agregando filas y celdas de tabla) mediante un modelo de objetos coherente con otros controles Web.

En general, los controles Table de servidor Web se utilizan cuando se desea agregar filas y celdas (columnas) a la tabla en el código en tiempo de ejecución. Aunque este control puede utilizarse como una tabla estática, con filas y columnas predefinidas, en este caso es más sencillo trabajar con el elemento <table>.

El control Table de servidor Web puede ser más fácil de programar que el control HtmlTable, porque ofrece un modelo de objetos con propiedades con tipo que resulta coherente con otros controles de servidor Web. (El modelo también es coherente entre los controles Table, TableRow y TableCell.)

Comparación entre el control Table de servidor Web y otros controles de lista de servidor Web

Algunas de las funciones que se podrían realizar con un control Table de servidor Web también se pueden llevar a cabo con los controles de lista de servidor Web, en particular, con los controles Repeater, DataList y GridView. Todos estos controles se representan (o tienen la opción de representarse) como tablas HTML.

Éstas son las diferencias que existen entre los controles de lista y el control Table:

  • Los controles de lista están enlazados a datos. Los controles de lista sólo funcionan con un origen de datos, mientras que el control Table puede mostrar cualquier combinación de texto HTML y controles, estén o no enlazados a datos.

  • Los controles de lista utilizan plantillas para especificar el diseño de sus elementos. El control Table admite el control secundario TableCell, que puede llenarse igual que cualquier elemento HTML <td>.

Modelo de objetos del control Table de servidor Web

El control Table actúa como control primario para los controles TableRow. La tabla admite una propiedad denominada Rows, que es una colección de objetos TableRow. La administración de esta colección, agregando o eliminando elementos, permite especificar las filas que tendrá la tabla. El control TableRow admite a su vez una colección denominada Cells, que contiene los objetos TableCell.

El contenido que se va a mostrar en la tabla se agrega al control TableCell. La celda tiene una propiedad Text que se establece en cualquier texto HTML. Como alternativa, puede mostrar controles en la celda creando instancias y agregando controles a la colección Controls de la celda.

El control primario Table admite propiedades que controlan la apariencia de toda la tabla, como Font, BackColor y ForeColor. Los controles TableRow y TableCell admiten también estas propiedades, de modo que es posible especificar la apariencia de filas o celdas individuales y reemplazar la apariencia de la tabla primaria.

Enlazar datos al control

Aunque el control Table, a diferencia de los controles de lista de servidor Web (ver más arriba), no está enlazado a datos de forma inherente, puede utilizarse para mostrar datos procedentes de una base de datos.

Al igual que sucede con todos los controles de servidor Web, puede enlazar cualquier propiedad de un control Table a un origen de datos. Sin embargo, el control Table no admite una propiedad que se utilice para mostrar datos directamente. En su lugar, lo habitual es agregar controles TableCell a la tabla. A continuación, puede enlazar a los datos la propiedad Text de los controles TableCell individuales o puede agregar a la celda controles enlazados a datos (como Label o Literal).

Vea también

Tareas

Cómo: Agregar filas y celdas dinámicamente a un control Table de servidor Web