我有一个嵌套在gridview内的listview。
我正在尝试在listview上进行分页工作。我认为它会显示分页控件,并且只是正常浏览它们。
它确实显示控件,并将显示的结果集限制为适当的记录数(pageSize),但是当我单击分页控件时,网格刷新并且嵌套列表视图没有任何变化(它仍在第一页上)
我已尝试在listpanel中嵌套listview,但行为仍然存在。 gridview本身已经在更新面板中。
所以这就是我的布局:
<Gridview ID="gvApplications" DataSourceID="odsApplications" DataKeyNames="ID" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="Functions">
<ItemTemplate>
<asp:ListView ID="lvFunctions" runat="server" DataSource='<%#Eval("ApplicationFunctions") %>'
DataKeyNames="ID">
<LayoutTemplate>
<asp:DataPager ID="dpFunctions" runat="server" PageSize="1" PagedControlID="lvFunctions">
<Fields>
<asp:NextPreviousPagerField />
</Fields>
</asp:DataPager>
<ul>
<li>
<span ID="itemPlaceholder" runat="server" />
</li>
</ul>
</LayoutTemplate>
<ItemTemplate>
<asp:Label ID="lblFunction" runat="server" Text='<%# Eval("ApplicationFunction.Name") %>' />
</ItemTemplate>
</asp:ListView>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</Gridview>
想法?
答案 0 :(得分:0)
老实说,我会考虑在这里使用主 - 细节模式。这里有很多代码示例。例如:
Google: Master Details Examples with Child Objects
在某些情况下,详细信息视图(您的案例中的子对象)将显示在单独的页面上。无论哪种方式,通过在单独的详细信息视图中显示子对象,您可以避免编码和显示嵌套带来的问题。
Matt Berseth在这个主题上有一些最好的代码示例:
答案 1 :(得分:0)
如果列表视图不使用数据源控件,Listview / datapager组合将无法正常工作。
尝试在模板字段中包含数据源控件(objectdatasource可能适用)。