Friday, April 18, 2008

Cómo enlazar los datos de un DataReader a un GridView

Esto puede parecer muy sencillo, pero la verdad es algo oscuro para alguien acostumbrado a utilizar solo el editor WYSIWYG del Visual Studio 2005.
Básicamente el problema es que cuando queremos enlazar dinámicamente un GridView a una datasource generado en tiempo de ejecución (como por ejemplo un DataReader), el control no nos permite asignar columnas y estilos visuales automáticamente.
Lo que tenemos que hacer es entrar al modo codigo HTML de la página ASPX, encontrar los bloques de código en donde se define el GridView y agregar cada uno de los campos de nuestro datasource a cada uno de las columnas del control:

asp:GridView ID="grid2" runat="server" AutoGenerateColumns="False"
Columns
asp:BoundField DataField="Columna_1" HeaderText="Columna 1" SortExpression="Columna 1"
asp:ImageField HeaderText="foto" DataImageUrlField="foto"
asp:ImageField
Columns
asp:GridView

Nota: eliminamos los simbolos para abrir y cerrar etiquetas de ASP (<>) para poder agregar el código.
De esta manera podemos especificar un DataReader como fuente para nuestro control GridView y llenarlo dinamicamente en tiempo de ejecucion igualando cada uno de los campos de la base de datos del DataReader con los DataFields que especificamos.

Labels: , ,

0 Comments:

Post a Comment

<< Home