0 votos

apsx.net mostrar una lista en un repeater el cual tiene hijos

Necesito su ayuda, tengo una tabla ruta y una tabla horario, en la tabla horario hay un campo que contiene el id de la ruta. Quiero mostrar en un repeater todas las rutas y que ademas muestren los horarios de cada una, pero no lo logro. El código que utilizo es:

 <asp:Repeater ID="rpRuta" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
    <ItemTemplate>
        <div class="card mb-4 mx-5  shadow-sm" style="width: 18rem;">               
            <div class="card-body">
                <h5 runat="server" class="card-title"><%# Eval("lugar_Desde") %> - <%# Eval("lugar_Hasta") %></h5>
                <h5 runat="server" class="card-text">Tarifa: <%# Eval("tarifa") %></h5>
                <h5 runat="server" class="card-text"></h5>

                <asp:Repeater ID="rpHorario" runat="server">
                    <ItemTemplate>
                        <h5 runat="server" class="card-text">Horario</h5>
                        <h5 runat="server" class="card-text">Frecuencia: <%# Eval("frecuencia") %></h5>
                        </div>
                    </ItemTemplate>
                </asp:Repeater>
            </div>              
    </ItemTemplate>
</asp:Repeater>

el código de carga es el siguiente, el primer repeater se carga bien, pero no se como hacer para que el segundo se cargue pero con la información que le corresponde según su id, como obtengo el id de cada valor cargado en el primer repeater para poderlo ligar con el segundo repeater.?

 private void CargarLista( )
    {

        List<Ruta> lista = new List<Ruta>();

        lista = RutaLogica.SeleccionarPorIDCompania(1);
        rpRuta.DataSource = lista;
        rpRuta.DataBind();

    }

  protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        List<Horario> listaHorario = new List<Horario>();
        listaHorario =???? 

        Repeater r = e.Item.FindControl("rpHorario") as Repeater;
        if (r != null)
        {
            r.DataSource = listaHorario;
            r.DataBind();
        }
    }

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X