0
중첩 된 ListView가 있고 LinQ에서 관련 테이블을 호출하는 경우 상위의 ItemDataBound 이벤트를 사용하지 않고 어떻게 정렬합니까? (솔루션으로 업데이트)LinQ에서 기본 정렬 순서를 정의 할 수 있습니까
의사 코드 :
<asp:ListView ID="lv" runat="server" OnItemDataBound="lv_ItemDataBound" >
<LayoutTemplate>
<!-- Product Category Stuff -->
<asp:PlaceHolder Id="itemPlaceholder" runat="server"></asp:PlaceHolder>
</LayoutTemplate>
<ItemTemplate>
<asp:ListView ID="lvInner" runat="server" DataSource='<%# <%# ((Category)Container.DataItem).Products.OrderBy(p => p.Description) %> %>'>
<LayoutTemplate>
<ul>
<asp:PlaceHolder ID="itemPlaceholder" runat="server"></asp:PlaceHolder>
</ul>
</LayoutTemplate>
<ItemTemplate>
<li>Item Stuff</li>
</ItemTemplate>
</asp:ListView>
</ItemTemplate>
</asp:ListView>
아마도 방법은 믿을 간단하지만, 나는 내부 제품이 필드를 기준으로 정렬하고 싶습니다. LinQ가이 쿼리를 즉석에서 작성하므로 실수로 작성하지 않고 정렬 작업을 수행하지 않아도 선언적으로 수행 할 수있는 방법이 없습니다.
의견이 있으십니까?
UPDATE는
는 다음에 예를 업데이트 :
<%# ((Category)Container.DataItem).Products.OrderBy(p => p.Description) %>
은 다른 사람이 도움이되기를 바랍니다!
이 바보 같은 소리로 들리 겠지만 ...하지만 난 그 생각을하지 않았다 ... 이상 정확 : 이런 경우, 왜 그냥 그렇게처럼, 평가에있는 OrderBy 방법을 추가하지 너를 할 수 있다는 것을 몰랐다. 감사. 지금 테스트 중입니다. – Armstrongest
두 번째로 눈에 띄지는 않습니다. 나는 Eval을 사용하여 String Expression을 평가할 수 있습니까? 이 오류가 발생합니다 : DataBinding : 'OrderBy (p => p'는 유효한 인덱싱 된 표현식이 아닙니다.) – Armstrongest
같은 생각이지만, 다음과 같은 방법으로 수행했습니다. <% # ((Category) Container.DataItem). Products.OrderBy (p => p.Description) %> 일하는 것 같습니다! – Armstrongest