Пейджинг для Listview внутри Gridview не работает - PullRequest
1 голос
/ 24 сентября 2010

У меня есть вид списка, вложенный в вид сетки.

Я пытаюсь заставить страницу работать над списком.Я думал, что он будет отображать элементы управления подкачкой и просто просматривать их в обычном режиме.

Он отображает элементы управления и ограничивает отображаемый набор результатов соответствующим количеством записей (pageSize), но когда я нажимаю наподкачка управляет обновлением сетки, и с вложенным списком ничего не меняется (он все еще находится на первой странице).

Я пытался вложить просмотр списка в панель обновления, но поведение остается.Сам сеточный вид уже находится в панели обновлений.

Итак, это мой макет:

<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>

Идеи?

Ответы [ 2 ]

0 голосов
/ 25 сентября 2010

Комбинация Listview / datapager не работает должным образом, если просмотр списка не использует элемент управления источником данных.

Попробуйте включить элемент управления источником данных (объектный источник данных может быть применим) в поле шаблона.

0 голосов
/ 24 сентября 2010

Честно говоря, я бы рассмотрел здесь использование шаблона master-details.Есть много примеров кода по этому вопросу.Например:

Google: примеры основных сведений с дочерними объектами

Существуют также сценарии, в которых представление сведений (дочерние объекты в вашем случае) будет отображаться на отдельной странице.,В любом случае, отображая дочерние объекты в отдельном подробном представлении, вы избегаете проблем с кодированием и отображением, связанных с вложением.

У Мэтта Берсета есть несколько лучших примеров кода на эту тему:

http://mattberseth.com/blog/gridview/

...