InicioArticulos y noticiasBases de datosProgramaciónForosInternetServiciosContratacionEmail
También puedes ver ...
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
Problemas en la instalación de Visual Studio 2008-Visual studio web authoring component
Cómo consumir un Servicio WCF en vez de un Web Service
Redimiento de VS2008

Afiliados
La Web del programador
MundoProgramacion


 
 Versión para imprimir

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: 3938 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.



devjoker  Lo más nuevo ... Donde se habla ... 
01/07/2008 LinQ To SQL - Un ejemplo sencillo
11/06/2008 Problemas con el diseñador Web de Visual Studio 2008
03/06/2008 Formatear números en SQL Server
07/05/2008 Cómo activar Intelisense (autocompletado) en el Web.config
07/05/2008 Programas Open Source Alternativos
29/04/2008 Leer un campo XML de SQL Server 2005 con C#
22/04/2008 TripleDES - Un ejemplo practico en C#
21/04/2008 Ping
18/04/2008 Mostrar un GridView dentro de un DataList
13/04/2008 String.Format

Útimos temas recibidos en los foros ...
Problema de Proceso con el Timer en c# por BruneX ... [C#] 4 01/07/2008
Conectar ASP con B.D Informix por Franco ... [ASP] 11 02/05/2007
Store Procedure por Sistemas ... [ASP.NET] 7 28/05/2008
como insertar registros en un formulario de visual basic.net desde la base de datos sql server por orlan ... [SQL Server] 2 09/06/2008
problema sql por lourdes ... [SQL Server] 3 01/07/2008
PROBLEMAS CON CONEXION A ACCESS 2007 por daniel ... [Access] 2 19/05/2008
directorio activo y VB.NET por ZICK ... [Visual Basic .NET] 0 02/07/2008
Replica en Sql 2005 por Marcelino ... [SQL] 2 27/05/2008
tablas INDEX BY por Alberto ... [SQL] 0 02/07/2008
Convertir xls en csv por kayu ... [ORACLE] 3 17/06/2008
quiero mi numero de seguro social por margarita figueroa castro ... [Visual Basic .NET] 2 01/07/2008
Crystal Reports - Visual Studio 2005 por Broken ... [ASP.NET] 0 02/07/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 ...
28/06/2006 Procedimientos almacenados en PL/SQL    forma parte de...Tutorial PL/SQL
10/07/2006 Subprogramas en PL/SQL    forma parte de...Tutorial PL/SQL
28/08/2006 Ubuntu en VmWare con VMware Tools
28/06/2006 Propagacion de excepciones en PL/SQL    forma parte de...Tutorial PL/SQL
17/10/2006 Excepciones personalizadas en PL/SQL    forma parte de...Tutorial PL/SQL
22/10/2005 Insertar datos. INSERT    forma parte de...Tutorial SQL
01/07/2008 LinQ To SQL - Un ejemplo sencillo
28/06/2006 Excepciones en PL/SQL    forma parte de...Tutorial PL/SQL
09/08/2007 Como mostrar el formato de fecha corta en un gridView
01/06/2006 Cursores de actualización en PL/SQL    forma parte de...Tutorial PL/SQL

 

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