none
Problema com Repeater dentro de Repeater RRS feed

  • Pergunta

  •  

    Fala pessoal blz..

    Com com a seguinte 'zica'.. nao to conseguindo solução.

    tenho 2 Repeaters.

    <asp:Repeater runat="server" ID="rptRoadMapVersion" OnPreRender="rptRoadMaprptRoadMapVersion_PreRender"
                    EnableTheming="false">
                    <ItemTemplate>
                        <asp:Label ID="lblTextVersionRoadMap" runat="server" Text="<%#((ProductVersion)Container.DataItem).ShortName %>" />
                       
                        <asp:Repeater runat="server" ID="rptRoadMap" OnPreRender="rptRoadMap_PreRender" EnableTheming="false"
                            EnableViewState="True">
                            <ItemTemplate>
                                <div style="width: 80px; border: 1px solid #000">
                                    <div>
                                        >>
                                        <asp:Label ID="lblTextDescriptionRoadMap" runat="server" />
                                    </div>
                                </div>
                            </ItemTemplate>
                        </asp:Repeater>

                    </ItemTemplate>
                </asp:Repeater>

     

    Como podem ver, 1 Repeater dentro de outro.

    o Code Behind é este.

    //PRE-RENDER DO REPEATER PRINCIPAL
            protected void rptRoadMaprptRoadMapVersion_PreRender(object sender, EventArgs e)
            {
                List<ProductVersion> objPVList = new List<ProductVersion>();
                objPVList = new ProductVersionBusiness().ListarTodos("ShortName", true).Where(x => x.Product.ID == int.Parse(CurrentProductID.Value)).ToList();
                rptRoadMapVersion.DataSource = objPVList;
                rptRoadMapVersion.DataBind();
            }

    //PRE-RENDER DO REPEATER INTERNO
    protected void rptRoadMap_PreRender(object sender, EventArgs e)
            {
                List<RoadMap> objRMList = new List<RoadMap>();
                objRMList = new RoadMapBusiness().ListarTodos("ID").Where(x => x.ProductVersion.Product.ID == int.Parse(CurrentProductID.Value)).ToList();
                (sender as Repeater).DataSource = objRMList;
                (sender as Repeater).DataBind();

                foreach (RepeaterItem oItem in (sender as Repeater).Items)
                {
                    Label oLbl = (Label)oItem.FindControl("lblTextDescriptionRoadMap");
                    oLbl.Text = getDescriptionIdiom(objRMList[oItem.ItemIndex].ID);
                }
            }

    O meu objetivo é listar os registros desta maneira por exemplo:
    VERSÃO 4.0
    >item 1
    >item 2

    VERSÃO 4.5
    >item1
    >item2
    >item3
    >item4


    Uma espécie de RoadMap.

    Neste caso temos um repeater que é o dá versão e outro dos ítens.

    O problema é que no meu código, errado, ele nao consegue listar os ítens pelas respectivas versões.. não estou conseguindo elaborar esta lógica, alguem poderia me ajudar?



    []´s AlexVidotto - Web Developer - Pontue se útil ;]
    sexta-feira, 14 de maio de 2010 18:51

Respostas