programing

중첩된 반복기의 헤더 템플릿에서 상위 데이터 액세스

showcode 2023. 6. 14. 21:59
반응형

중첩된 반복기의 헤더 템플릿에서 상위 데이터 액세스

간단한 질문, 간단한 답이 있는지 확실하지 않습니다!

코드는 다음과 같습니다. (읽기 쉽게 하기 위해 많이 단순화했습니다.)

<asp:Repeater runat="server>
    <ItemTemplate>
        <asp:Repeater runat="server">
            <HeaderTemplate>
                <h1>My header here for: <%# OuterContainer.DataItem.MyItemName %> </h1>
            </HeaderTemplate>
            <ItemTemplate>
                My items code here
            </ItemTemplate>
        </asp:Repeater>
    </ItemTemplate>
</asp:Repeater>

헤더 템플릿에서 상위 리피터의 데이터 항목에 액세스하려면 어떻게 해야 합니까?

저는 실제로 답을 찾았습니다.

사용:

<HeaderTemplate>
    <%# ((RepeaterItem)Container.Parent.Parent).DataItem %>
</HeaderTemplate>

Paul이 제공한 해결책은 나에게 효과가 없었지만, 이것은 다음과 같습니다.

<%# DataBinder.Eval(Container.Parent.Parent, "DataItem.YourProperty")%> 

이것은 오래된 스레드이지만 다음을 추가하는 것이 적절해 보입니다.

이 경우 두 개의 중첩된 ASPxGridView 컨트롤(DevExpress)과 컨테이너가 있습니다.부모님, 부모님은 작동하지 않았습니다.

자식으로부터 부모의 데이터 항목에 액세스하는 것은 다음과 같습니다.

<%# DataBinder.Eval(Container.NamingContainer.NamingContainer, "DataItem.DbField")%>

상위 중계기의 속성을 검색하려면 일반적으로 다음 작업을 수행합니다.

<%# DataBinder.Eval(((RepeaterItem)Container.Parent.Parent).DataItem, "ThePropertyName")%>

아래와 같이 사용하였습니다.하위 중계기 내에서 ID 열의 상위 값을 가져오는 방법 아래에서 두 중계기가 상위 및 하위 역할을 합니다.

<%# DataBinder.Eval(((RepeaterItem)Container.Parent.Parent).DataItem, "ID") %>

언급URL : https://stackoverflow.com/questions/1411336/accessing-parent-data-in-nested-repeater-in-the-headertemplate

반응형