簡體   English   中英

顯示對象列表中的層次結構數據

[英]Display hierarchal data from list of objects

我有一個要以特定方式顯示的對象列表,並且遇到的麻煩比我預期的要多。 本質上,我需要如下設置:

  • 家長2級(標題)
  • 表格中的第3級兒童

重復此過程,直到在每次頁面加載時提取列表的末尾。 我嘗試過嵌套中繼器,但失敗了。

<asp:Repeater runat="server" ID="parentMeetingRepeater" >
<ItemTemplate>
    <h5><%# GetParentMeetingName(Eval("Id")) %></h5>
    <hr />

    <asp:Repeater runat="server" ID="childMeetingRepeater" >
        <HeaderTemplate>
            <table style="width: 100%;">
        </HeaderTemplate>
        <ItemTemplate>
            <tr>
                <td>
                    <a href="/Display.aspx?ccbid=<%# Eval("Id")%>"><%# Eval("Name") %></a>
                </td>
                <td>
                    <%# Eval("Description") %>
                </td>
            </tr>
        </ItemTemplate>
        <FooterTemplate>
            </table>
        </FooterTemplate>
    </asp:Repeater>
</ItemTemplate>                       

父級中繼器上發生了一個事件,要對第二個中繼器進行數據綁定,但是我很快意識到沒有邏輯告訴它僅顯示具有父級為2的ID的級別3項。 有什么想法可以解決這個問題嗎? 我認為嵌套中繼器可能是錯誤的方向。 - 謝謝

得到一些建議后,我最終改用了列表視圖。 與數據對象列表和嵌套轉發器的正確​​綁定使我感到不安,因此這是一條更簡潔的方法。

               <asp:ListView ID="uxTaxonomies" runat="server" ItemPlaceholderID="itemPlaceholder">
                    <LayoutTemplate>
                        <asp:PlaceHolder ID="itemPlaceholder" runat="server"></asp:PlaceHolder>
                    </LayoutTemplate>
                    <ItemTemplate>
                        <h5><%#((TaxonomyData)Container.DataItem).Name %></h5>
                        <hr/>
                        <asp:ListView ID="uxTaxChildren" runat="server" ItemPlaceholderID="itemPlaceholder" DataSource="<%#((TaxonomyData)Container.DataItem).Taxonomy %>">
                            <LayoutTemplate>
                                <table class="noBorder">
                                    <tbody>
                                        <asp:PlaceHolder ID="itemPlaceholder" runat="server"></asp:PlaceHolder>
                                    </tbody>
                                </table>
                            </LayoutTemplate>
                            <ItemTemplate>
                                <tr>
                                    <td><a href="/MeetingDisplay.aspx?ccbid=<%#((TaxonomyData)Container.DataItem).Id %>"><%#((TaxonomyData)Container.DataItem).Name %></a>  </td>
                                    <td><%#((TaxonomyData)Container.DataItem).Description %></td>
                                </tr>
                            </ItemTemplate>
                        </asp:ListView>
                    </ItemTemplate>
                </asp:ListView>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM