SergioTarrillo's RichWeblog

domingo, julio 31, 2005

Usando Repeater

Es un control para mostrar Data de una fuente de datos, como una base de datos o xml, o algun otro origen.

A diferncia del DataGrid, este control es personalizable, tu puedes mostrar con el diseño que quieras, y lo mejor es que lo puedes combinar con HTML. Como los otros controles de Data, es posee una Propiedad DataSource y DataMember, para unir la fuente de datos, y la tabla repectivamente.

Si estamos usando ASP.NET 2.0, pues es más fácil enlazarlo a una fuente de datos, por ejemplo podemos usar un SqlDataSource, que sea el origen de datos, y lo enlazamos directamente en su tag HTML, y ya no usamos codigo

Configurando adecuandmente un DataSouce, ahora podemos ir al codigo HTML, y darle el formato que nosotros desemos:

<asp:Repeater ID="repMensajes"  runat="server" 
DataSourceID="miDS">

<ItemTemplate>
<font color="#003300"><b>
<%# DataBinder.Eval(Container.DataItem,
"Usuario") %>
</font> </b>,
<%# DataBinder.Eval(Container.DataItem,
"Fecha") %> </br>
<table border='0'> <tr> <td width="500">
<font face="Verdana" color="#004400" size='1'>
<%# DataBinder.Eval(Container.DataItem,
"Mensaje") %>
</font>
</td></tr></table>
</ItemTemplate>

<AlternatingItemTemplate>
<font color="#000099"><b>
<%# DataBinder.Eval(Container.DataItem,
"Usuario") %>
</font> </b>,
<%# DataBinder.Eval(Container.DataItem,
"Fecha") %> </br>
<table border='0'> <tr> <td width="500">
<font face="Verdana" color="#003399" size='1'>
<%# DataBinder.Eval(Container.DataItem,
"Mensaje") %>
</font>
</td></tr></table>
</AlternatingItemTemplate>

<SeparatorTemplate>
<hr color="#003399" size="2" />
</SeparatorTemplate>
</asp:Repeater>


Vamos con la explicacion de estas etiquetas, en primer lugar el <asp:repeater>, es el control, y que esto limitamos el cuerpo de nuestra plantilla, una de sus propieades es DataSourceID, aca colocamos el nombre de nuestro SQLDataSource.
ItemTemplate, aqui colocaremos las columnas de la tabla que desemos ver, y el formato de estas, aca podemos combinarlo con HTML, por ejemplo podemos poner , para decirle que el texto este negrita o usar font, para darle otro color, pero dentro de estas etiquetas colocaremos este codigo para cargar los Items: <%DataBinder.Eval(Container.DataItem, "nameColumna")%>
AlternatingItemTemplate, en el caso de queramos alternar el formato de la lectura de los datos, es decir una fila con el color de texto Rojo, y la otra Azul, para que se note el cambio de Item, podemos y debemos usar los mismoas tags, que en el anterior.
SeparatorTemplate, aca colocamos como queremos separar nuestros datos, por un salto de línea, un una línea HTML, o lo que deseemos.
Adicionalmente hay otros tag como HeaderTemplate, y FooterTemplate.

1 comentario:

Gorefest dijo...

una consulta, es posible poder paginar el repeater, para una busqueda con muchos resultados?