InicioArticulos y noticiasBases de datosProgramaciónForosInternetServiciosContratacionEmail
También puedes ver ...
TransactionScope - Simplificando el trabajo con transacciones.
Google Trends, adiós Alexa adiós ...
Fiddler - Indispensable para el desarrollo Web
LinQ To SQL - Un ejemplo sencillo
Cómo activar Intelisense (autocompletado) en el Web.config
Leer un campo XML de SQL Server 2005 con C#
TripleDES - Un ejemplo practico en C#
String.Format
Métodos Extensores: INNER JOIN
Sitios Web de ejemplo ASP.NET

Afiliados
La Web del programador
MundoProgramacion


 

Mostrar un GridView dentro de un DataList

    En este articulo vamos a mostrar como enlazar un control GridView, que se encuentra posicionado dentro de un control DataList. 

    La tecnoligia utilizada ha sido ASP.NET 2.0.

    El proyecto se compone únicamente de la página Default.aspx. La página esta formada por dos controles de enlace a datos, el control DataList,(DataList1) y dentro de este un GridView (GridView1).

    Debemos notar que el DataList tiene asignado el evento OnItemCreated. Es en este evento donde vamos a enlazar el GridView.

    La página default.aspx se muestra a continuación (se resaltan en mayor tamaño las partes relevantes de la misma).


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>


<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>Untitled Page</title>

</head>

<body>

<form id="form1" runat="server">

 

<asp:DataList ID="DataList1" runat="server"

OnItemCreated="DataList1_ItemCreated">

<ItemTemplate>

<asp:Label ID="Label1" runat="server"

Text="<%# Container.DataItem %>"></asp:Label><br />

 

<asp:GridView ID="GridView1" runat="server"

BackColor="White" BorderColor="#E7E7FF"

BorderStyle="None" BorderWidth="1px" CellPadding="3"

GridLines="Horizontal" AutoGenerateColumns="False">

 

<FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />

<RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />

<SelectedRowStyle BackColor="#738A9C" Font-Bold="True"

ForeColor="#F7F7F7" />

<PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C"

HorizontalAlign="Right" />

<HeaderStyle BackColor="#4A3C8C" Font-Bold="True"

ForeColor="#F7F7F7" />

<AlternatingRowStyle BackColor="#F7F7F7" />

 

<Columns>

<asp:TemplateField>

<ItemTemplate>

<asp:TextBox ID="TextBox1" runat="server"

Text='<%# DataBinder.Eval(Container.DataItem, "c1") %>'>

</asp:TextBox>

</ItemTemplate>

</asp:TemplateField>

<asp:TemplateField>

<ItemTemplate>

<asp:TextBox ID="TextBox2" runat="server"

Text='<%# DataBinder.Eval(Container.DataItem, "c2") %>'>

</asp:TextBox>

</ItemTemplate>

</asp:TemplateField>

</Columns>

</asp:GridView>

</ItemTemplate>

</asp:DataList>

</form>

</body></html>

    El enlace a datos se realiza desde código, llamamos a la función BindData en el Page_Load. En esta función vamos a enlazar el DataList1 a un ArrayList. Dejaremos sin enlazar el GridView de momento.


protected
void Page_Load(object sender, EventArgs e)

{

BindData();

}

void BindData()

{

ArrayList datos = new ArrayList();

datos.Add("Dato1");

datos.Add("Dato2");

DataList1.DataSource = datos;

DataList1.DataBind();

}

    El control GridView lo enlazamos en el evento OnItemCreated del control DataList, este evento se lanza cada vez que se crea un elemento en el DataList.


protected
void DataList1_ItemCreated(object sender,
DataListItemEventArgs e)

{

GridView dg = (GridView)e.Item.FindControl("GridView1");

DataTable dt = new DataTable();

dt.Columns.Add("c1");

dt.Columns.Add("c2");

for (int i = 0; i < 4; i++)

{

DataRow fila = dt.NewRow();

fila[0] = String.Format( "Datos Grid {0}", i);

fila[1] = String.Format("Datos Grid {0} -Campo 2", i);

dt.Rows.Add(fila);

}

dg.DataSource = dt;

dg.DataBind();

}

    El código completo se muestra a continuación.


using
System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Collections;

 

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

BindData();

}

 

void BindData()

{

ArrayList datos = new ArrayList();

datos.Add("Dato1");

datos.Add("Dato2");

DataList1.DataSource = datos;

DataList1.DataBind();

}

 

protected void DataList1_ItemCreated(object sender,
DataListItemEventArgs e)

{

GridView dg = (GridView)e.Item.FindControl("GridView1");

DataTable dt = new DataTable();

dt.Columns.Add("c1");

dt.Columns.Add("c2");

for (int i = 0; i < 4; i++)

{

DataRow fila = dt.NewRow();

fila[0] = String.Format( "Datos Grid {0}", i);

fila[1] = String.Format("Datos Grid {0} -Campo 2", i);

dt.Rows.Add(fila);

}

dg.DataSource = dt;

dg.DataBind();

}

}

    La ejecución de la página se verá de la siguiente manera:

 

     Saludos, DJK

 


 Versión para imprimir  Foros de consulta


Añadir comentario ... Para preguntar utiliza los foros
Autor:

Título:


Para preguntar utiliza los foros.



 Versión para imprimir

Mostrar un GridView dentro de un DataList
Autor: Pedro Herrarte Sánchez
Visitas: 4684 Fecha de publicación: 18/04/2008
Pedro Herrarte, es consultor independiente, ofreciendo sercivios de consultoría, análisis, desarrollo y formación.

Posee mas de diez años de experiencia trabajando para las principales empresas de España.

Es especialista en tecnologías .NET, entornos Web, bases de datos (SQL Server y ORACLE) e integración de sistemas.

Es experto en desarrollo (C#, ASP.NET, VB.Net, T-SQL, PL/SQL, , ASP, CGI , C, Pro*C, Java, Essbase, Vignette, PowerBuilder y Visual Basic ...) y bases de datos (SQL Server y ORACLE).

Es fundador, diseñador y programador de www.devjoker.com.




18/08/2008 SQL Server 2008
Visitas: 39 | Comentarios: 0 | Archivo: Articulos
Categorias: Transact-SQL
Visitas: 131 | Comentarios: 0 | Archivo: Articulos
Categorias: C#|ADO.NET|LinQ
Visitas: 161 | Comentarios: 1 | Archivo: Articulos
Categorias: Humor
Visitas: 154 | Comentarios: 0 | Archivo: Articulos
Categorias: WCF
Visitas: 123 | Comentarios: 0 | Archivo: Articulos
Categorias: WCF
Visitas: 210 | Comentarios: 0 | Archivo: Articulos
Categorias: ASP.NET
Visitas: 278 | Comentarios: 5 | Archivo: Articulos
Categorias: ASP.NET
Visitas: 4990 | Comentarios: 4 | Archivo: Articulos
Categorias: C#|Transact-SQL|LinQ
Visitas: 603 | Comentarios: 1 | Archivo: Articulos
Categorias: Visual Studio
Visitas: 1402 | Comentarios: 1 | Archivo: Articulos
Categorias: Transact-SQL

Útimos temas recibidos en los foros ...
MAQUINAS VIRTUALES por victor ... [WIN 98/NT/2000/XP] 0 19/08/2008
Y lo mismo en WEB por systemat ... [C#] 1 18/08/2008
Manual del minicom de Linux con fotos. por Meta ... [UNIX] 4 17/08/2008
PROGRAMACION por JUANMA ... [Visual Basic .NET] 1 19/08/2008
Conectar ASP con B.D Informix por Franco ... [ASP] 9 02/05/2007
Codigo salir por Jazmin ... [ASP.NET] 1 18/08/2008
EXPORTAR DATOS A ARCHIVOS PLANOS. por WIX ... [ORACLE] 10 06/08/2007
formulario por artdark ... [C#] 2 04/08/2008
Codigo salir por Jazmin ... [ASP.NET] 0 18/08/2008
cambiar de modo un gried view por ivan ... [ASP.NET] 0 18/08/2008
ayuda urgente porfavor por vicancer ... [ASP.NET] 0 18/08/2008
pollo por hajaj ... [Actualidad] 1 15/08/2008

Access CGI JSP ORACLE UNIX
Actualidad HTML/DHTML/XHTML LINUX PHP Visual Basic .NET
ASP ISAPI MS DOS Power Builder Visual Basic 6.0
ASP.NET Java mySQL SQL WIN 98/NT/2000/XP
C# JavaScript Opinion SQL Server

devjoker  Te recomendamos además ...
22/10/2005 Tablas    forma parte de...Tutorial SQL
09/08/2007 Como mostrar el formato de fecha corta en un gridView
02/09/2007 Procedimientos almacenados en Transact SQL    forma parte de...Tutorial de Transact SQL
25/08/2007 Variables en Transact SQL    forma parte de...Tutorial de Transact SQL
03/10/2006 Introduccion a C#    forma parte de...Tutorial C#
21/02/2007 BULK COLLECT    forma parte de...Tutorial PL/SQL
28/08/2006 Ubuntu en VmWare con VMware Tools
11/06/2008 Problemas con el diseñador Web de Visual Studio 2008
03/10/2006 Creación de objetos    forma parte de...Tutorial C#
23/05/2006 Cursores en PL/SQL    forma parte de...Tutorial PL/SQL

 

Encuesta
Si trabajas con .NET ¿Que entorno utilizas?
[Ver] [Votar]