ASCX dentro de DataGrid
Importante: Antes que todo deberás saber que esto no funciona con GridView, de modo que tendremos que recurrir al DataGrid que es más flexible.
Supongamos que tenemos en un archivo ASPX algo como lo siguiente:
<asp:DataGrid ID="dg1" AutoGenerateColumns="False" runat="server">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Label ID="lldld" Text='<%# DataBinder.Eval(Container.DataItem, "FechaNacimiento")%>' runat="server" /><br />
<asp:Label ID="Label1" Text='<%# DataBinder.Eval(Container.DataItem, "Sexo")%>' runat="server" />
<asp:Label ID="Label2" Text='<%# DataBinder.Eval(Container.DataItem, "Apellidos")%>' runat="server" />
<asp:Label ID="Label3" Text='<%# DataBinder.Eval(Container.DataItem, "ClaveNivel")%>' runat="server" />
<MisComponentes:Micontrol ID="control1" ValorAsignar='<%# DataBinder.Eval(Container.DataItem, "Nombres")%>' runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
Tomar en cuenta que "control1" ya fue registrado en el aspx mediante la directiva @Register.
Ahora veamos cómo está conformado el ASCX.
<%@ Control Language="vb" AutoEventWireup="true" %>
<asp:Label ID="lblUsuario" runat="server" />
<script runat="server">
Public Property ValorAsignar() As String
Get
Return lblUsuario.Text
End Get
Set(ByVal value As String)
lblUsuario.Text = value
End Set
End Property
</script>
En este caso existe una propiedad llamada "ValorAsignar" que permite colocar y/o obtener el valor del label.
viernes, 7 de septiembre de 2007
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario