ASP.NET DataPager просмотреть все записи - PullRequest
0 голосов
/ 28 февраля 2012

Звучит достаточно просто - у меня есть пейджер данных, связанный с данным:

<asp:DataPager runat="server" ID="uxPager" PageSize="10" 
    PagedControlID="uxDataList" QueryStringField="page">
<Fields>
    <asp:NextPreviousPagerField FirstPageText="&lt;&lt;" 
        ShowFirstPageButton="True" ShowNextPageButton="False"
        ShowPreviousPageButton="False" />
    <asp:TemplatePagerField OnPagerCommand="PagerCommand">
        <PagerTemplate>
            Page
            <asp:Label runat="server" ID="CurrentPageLabel" 
                Text="<%# Container.TotalRowCount>0 ? 
                    (Container.StartRowIndex / Container.PageSize) + 1 : 0 %>" />
            of
            <asp:Label runat="server" ID="TotalPagesLabel" 
                Text="<%# Math.Ceiling (
                    (double)Container.TotalRowCount / Container.PageSize) %>" />
            <asp:LinkButton ID="lbViewAll" runat="server" OnClick="ViewAll">
                View All
            </asp:LinkButton>
        </PagerTemplate>
    </asp:TemplatePagerField>
    <asp:NextPreviousPagerField LastPageText="&gt;&gt;" 
        ShowLastPageButton="True" ShowNextPageButton="true" 
        ShowPreviousPageButton="True" PreviousPageText="Prev" 
        NextPageText="Next" />
</Fields>

Код позади (пока):

        /// <summary>
    /// Views all.
    /// </summary>
    /// <param name="sender">The sender.</param>
    /// <param name="e">The <see cref="System.EventArgs"/> 
    ///     instance containing the event data.</param>


    protected void ViewAll(object sender, EventArgs e)
    {
        uxServiceDirectoryPager.SetPageProperties(0,
            uxServiceDirectoryPager.TotalRowCount,true);
    }

Когда нажимаются кнопки lbViewAll , я хочу отобразить все записи, возвращаемые запросом.

Всякий раз, когда я нажимаю Просмотреть все, я получаю пустой список данных вместо просмотра всех записей. Что я делаю не так?

UPDATE

В моем коде у меня теперь есть метод ViewAll:

uxServiceDirectoryPager.SetPageProperties(0, uxServiceDirectoryPager.TotalRowCount, true);
        uxServiceDirectoryList.DataBind();

Когда я выполняю его, мой DataList содержит 95 элементов (что я и ожидаю), , но datalist отображает мой EmptyDataTemplate, хотя я вызываю DataBind ().

Если это имеет какое-то значение, я использую XmlDataSource для управления списком данных.

...