Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/01/2010, 04:05
Hiunkeru
 
Fecha de Ingreso: enero-2010
Mensajes: 3
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: findControl en Repeater anidado

Buenas , ya se que hace mucho de este post, pero de todas formas pongo la solución por si alguien la esa buscando y da con este post.

Como bien dice el amigo , accede a traves del evento ItemDataBound del repeater para acceder a los elementos del primer repeater, pues la solucion es usar otro para el segundo repeater...

ejemplo:

<asp:repeater id="rptuno" runat="server" OnItemDataBound="RptUno_ItemDataBound">
<ItemTemplate>
<asp:repeater id="rptDos" runat="server" OnItemDataBound="RptDos_ItemDataBound">
<ItemTemplate>
<asp:RadioButton id="rbcontol" runat="server" />
</ItemTemplate>
</asp:repeater>
</ItemTemplate>
</asp:repeater>

Bien si queremos acceder al radioButton del segundo repeater tendriamos que hacer lo siguiente.

-Primero añadimos un origen de datos al segundo repeater.

protected void RptrLinks_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{

((Repeater)e.Item.FindControl("rptDos")).DataSourc e = ListaDatos;
((Repeater)e.Item.FindControl("rptDos")).DataBind( );
}
}

-Ahora Accedemos al RadioButton ...

protected void RptDos_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
((RadioButton)e.Item.FindControl("rbcontol")).Chec ked = true;
}

}

Bueno espero que la solución sirva a mas de uno.

Un saludo

Última edición por Hiunkeru; 14/01/2010 a las 04:10 Razón: olvidada una cosa