Vous êtes sur la page 1sur 6

Controles enlazados a datos

Pgina: 1 / 6

Controles enlazados a datos


Aunque los controles enlazados a datos los veremos en profundidad en el siguiente
captulo, a continuacin pasamos a describirlos brevemente, ya que el objetivo del
apartado que nos ocupa es el de ofrecer una clasificacin de todos los controles de
datos que nos ofrece ASP.NET 2.0, para que el lector tenga una visin general de los
mismos.

Repeater: este control muestra elementos de datos en una lista, por s slo no
genera una salida visible para el usuario, para que sea visi ble se debe utilizar junto
con las plantillas.

DataList: similar al control anterior pero permite una mayor personalizacin a la


hora d mostrar la informacin en forma de lista. Tambin permite la seleccin y
edicin de elementos. Tambin debe utilizars e junto con las plantillas.

GridView: este control muestra la informacin en forma de tabla con celdas y


columnas, generando el cdigo HTML equivalente a una tabla. Es el ms complejo
de los controles enlazados a datos ofreciendo un alto grado de personal izacin y
una serie de caractersticas muy interesantes como pueden ser la ordenacin,
paginacin, definicin de columnas, edicin, etc., este control en nuevo en ASP
.NET 2.0, y viene a sustituir al antiguo DataGrid de ASP .NET 1.x.

DetailsView: este control tambin es nuevo en ASP .NET 2.0 y representa un


registro de datos cada vez, opcionalmente nos permite ir navegando entre
registros. Se utiliza en escenarios de maestro/detalle y tambin es utilizado para
editar registros existentes y para crear nuev os registros

FormView: este control tambin aparece en la versin 2.0 de ASP .NET, y sus
funciones son muy similares a las del control Detai 1sView, la diferencia respecto al
anterior control es que permite una mayor personalizacin a travs del mecanism o
de plantillas.

Los controles enlazados a datos se relacionan de una forma muy sencilla con los
controles de origen de datos, simplemente asignando a. su propiedad DataSourceld el
nombre del control de origen de datos.
Vista esta clasificacin, de Los co ntroles de de datos, a lo largo del presente capitulo
iremos viendo en profundidad cada uno de los controles de origen de datos.

______________________________________________________________
Lenguaje de Programacin IV
Prof.: Julio C. Lin Rodrguez

Controles enlazados a datos

Pgina: 2 / 6

Adicionamos un control Repeater, luego deberemos ir a la vista de cdigo de la


pagina y arrastrar o digitar el cdigo correspondiente.
use northwind
go
create proc listar_products_formview
as
select top 10 productid,productname,unitsinstock,unitprice,
fecha=getdate()
from products
go
exec listar_products_formview
go
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Pgina sin ttulo</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table border="1">
<tr>
<td colspan="2">
<span style="font-family: Tahoma">< strong>Ejemplo con el
Control Repeater</strong></span></td>
</tr>
<tr>
<td style="width: 53px">
</td>
<td style="width: 167px">
</td>
</tr>
<tr>
<td colspan="2">
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table width="100%" >
<tr bgcolor="#99ccff">
<th>Codigo</th>
<th>Nombre del Producto </th>
<th>Stock</th>
<th>Precio</th>
<th>Fecha</th>
</tr>
</HeaderTemplate>

______________________________________________________________
Lenguaje de Programacin IV
Prof.: Julio C. Lin Rodrguez

Controles enlazados a datos

Pgina: 3 / 6

<ItemTemplate>
<tr bgcolor="yellow">
<td align="right"><%# Eval("ProductID") %></td>
<td><%# Eval("ProductName") %></td>
<td align="right">
<%#Eval("UnitsinStock", "{0:n}")%></td>
<td align="right"><%#Eval("UnitPrice","S/.{0:f}")%></td>
<td align="right"><%#Eval("Fecha", "{0:d}")%></td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate >
<tr bgcolor="#ffcc99">
<td align="right"><%# Eval("ProductID") %></td>
<td><%# Eval("ProductName") %></td>
<td align="right">
<%#Eval("UnitsinStock", "{0:n}")%></td>
<td align="right"><%#Eval("UnitPrice","S/.{0:f}")%></td>
<td align="right"><%#Eval("Fecha", "{0:d}")%></td>
</tr>
</AlternatingItemTemplate >
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</td>
</tr>
<tr>
<td style="width: 53px">
Cantidad de Registros: </td>
<td style="width: 167px">
<asp:Label ID="lblCant" runat="server"></asp:Label></td>
</tr>
</table>
</div>
</form>
</body>
</html>
Imports System.Data
Imports System.Data.SqlClient
Partial Class _Default
Inherits System.Web.UI.Page
Dim cad_cn As String =
"Server=localhost;Database=Northwind; Trusted_Connection=true"
Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
If Page.IsPostBack = True Then Exit Sub
Listar_Productos()
End Sub

______________________________________________________________
Lenguaje de Programacin IV
Prof.: Julio C. Lin Rodrguez

Controles enlazados a datos

Pgina: 4 / 6

Sub Listar_Productos()
Dim Adap As New SqlDataAdapter("listar_productos", cad_cn)
Adap.SelectCommand.CommandType = CommandType.StoredProcedure
Dim oTabla As New DataTable
Adap.Fill(oTabla)
Me.Repeater1.DataSource = oTabla
Me.Repeater1.DataBind()
Me.lblCant.Text = oTabla.Rows.Count
End Sub
End Class

Carcter de Formato
c
f
n
p

Descripcin
indica la moneda del sistema
Formato de coma flotante
Formato Numrico
Formato Porcentual

d
D
m
h

Fecha Corta
Fecha Larga
Mes y Dia (dd mmmm)
Hora corta (hh:mm)

Muestra un cero delante de un numero o


al final de un Numero despus del smbolo decimal.

#
.
,

Equivale a un digito
smbolo decimal
smbolo de separacin de miles

______________________________________________________________
Lenguaje de Programacin IV
Prof.: Julio C. Lin Rodrguez

Controles enlazados a datos

Pgina: 5 / 6

En este segundo ejemplo, sobre una tabla adicionaremos un control FormView y


sobre el cual en su plantilla ItemTemplate dibujaremos lo siguiente:

Estableceremos sobre cada etiqueta, de su tarjeta inteligente Edit DataBinding


Eval(NombreCampo).
Para las etiquetas que mostraran el Precio y la Fecha se establecera el formato de
acuerdo al tipo, por ejemplo:
Eval("UnitPrice","{0:c}")
Eval("Fecha","{0:D}")
Estableceremos tambin la paginacin del FormView.
Quedando nuestro formulario:

______________________________________________________________
Lenguaje de Programacin IV
Prof.: Julio C. Lin Rodrguez

Controles enlazados a datos

Pgina: 6 / 6

Imports System.Data
Imports System.Data.SqlClient
Partial Class _Default
Inherits System.Web.UI.Page
Dim cad_cn As String = "Server=localhost;Database=Northwind;integrated
security=true"
Protected Sub Page_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Load
If Page.IsPostBack = True Then Exit Sub
Listar_Productos()
End Sub
Sub Listar_Productos()
Dim Adap As New SqlDataAdapter("listar_productos", cad_cn)
Adap.SelectCommand.CommandType = CommandType.StoredProcedure
Dim oTabla As New DataTable
Adap.Fill(oTabla)
Me.FormView1.DataSource = oTabl a
Me.FormView1.DataBind()
Me.lblCant.Text = oTabla.Rows.Count
End Sub
Protected Sub FormView1_PageIndexChanging( ByVal sender As Object, _
ByVal e As System.Web.UI.WebControls.FormViewPageEventArgs) Handles
FormView1.PageIndexChanging
Me.FormView1.PageIndex = e.NewPageIndex
Me.Listar_Productos()
End Sub
End Class

______________________________________________________________
Lenguaje de Programacin IV
Prof.: Julio C. Lin Rodrguez

Vous aimerez peut-être aussi