允许Telerik RadDataPager将“所有记录”显示为PageSize选项

时间:2014-05-06 21:38:41

标签: c# asp.net pagination telerik

我正在使用Telerik的RadDataPager来处理ListView控件的分页。

此控件的一个功能是允许用户通过下拉列表选择他们希望每页显示的记录数。默认情况下,下拉列表选项为5,10,20和50;但是,如果您愿意,可以在控件的属性中定义一组不同的值。

使用Telerik提供的示例,我有以下代码:

<telerik:RadDataPager ID="RadDataPager1" runat="server" PagedControlID="RadListViewMaster">
    <Fields>
        <telerik:RadDataPagerButtonField FieldType="FirstPrev" />
        <telerik:RadDataPagerButtonField FieldType="Numeric" PageButtonCount="5" />
        <telerik:RadDataPagerButtonField FieldType="NextLast" />
        <telerik:RadDataPagerPageSizeField PageSizeComboWidth="60" PageSizeText="Page size: " PageSizes="10; 25; 50" />
        <telerik:RadDataPagerGoToPageField CurrentPageText="Page: " TotalPageText="of" SubmitButtonText="Go" TextBoxWidth="30" />
        <telerik:RadDataPagerTemplatePageField>
            <PagerTemplate>
                <div style="float: right">
                    Items
                        <asp:Label runat="server" ID="CurrentPageLabel" Text="<%# Container.Owner.StartRowIndex+1%>" />
                    to
                        <asp:Label runat="server" ID="TotalPagesLabel" Text="<%# Container.Owner.TotalRowCount > (Container.Owner.StartRowIndex+Container.Owner.PageSize) ? Container.Owner.StartRowIndex+Container.Owner.PageSize : Container.Owner.TotalRowCount %>" />
                    of
                        <asp:Label runat="server" ID="TotalItemsLabel" Text="<%# Container.Owner.TotalRowCount%>" />
                    <br />
                </div>
            </PagerTemplate>
        </telerik:RadDataPagerTemplatePageField>
    </Fields>
</telerik:RadDataPager>

通过这个例子,我选择将PageSize属性设置为允许选择10,25和50作为值。这很好用。

现在我的问题是:有没有办法让“全部”或“最大”成为页面大小的可选值?我的用户享受正常的页面大小选项,但在某些情况下将“全部”或“最大”作为有效页面大小真的会受益。

我试过设置PageSize property =“10; 25; 50; All”,希望“All”显示为一个选项,并且我可以在事件中以某种方式获取值以基本上关闭分页。不幸的是,“全部”没有显示;只有数值。

有没有办法实现这个目标?非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

您可以尝试在

后面的代码中添加此项目
RadDataPager1.FindControl<RadComboBox>("PageSizeComboBox").Items.Add(new RadComboBoxItem("All", RadDataPager1.TotalRowCount.ToString()));