如何使用 WPF Telerik DataPager 加载大小的 PageSize

本文关键字:PageSize 加载 DataPager 何使用 WPF Telerik | 更新日期: 2023-09-27 18:36:26

我正在项目中使用 WPF Telerik GridView 和 DataPager,我想使用这两个控件显示项列表。

我将DataPager的Source属性绑定到DataGrid的Items属性(如原始演示)。我的问题是:数据寻呼机在第一次调用中加载所有实体!我只想加载一定数量的页面大小 (20)。

这是我的代码:

private void LoadProductsBackgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
    using (AccountingContext context = new AccountingContext())
    {
        Dispatcher.Invoke((Action)(() => grdProducts.ItemsSource = new ObservableCollection<Item>(context.Items.Include("UnitType").Include("Producer").ToList())));
    }
}
<telerik:RadDataPager Name="dataPager" PageSize="20" Source="{Binding Items, ElementName=grdProducts}" />
    <telerik:RadGridView Name="grdProducts">
        <telerik:RadGridView.Columns>
            <telerik:GridViewDataColumn Header="{x:Static sr:EntitiesResource.ID}" DataMemberBinding="{Binding Path=ID}" />
            <telerik:GridViewDataColumn Header="{x:Static sr:EntitiesResource.ProductName}" DataMemberBinding="{Binding Path=Name}" Width="200" />
            <telerik:GridViewDataColumn Header="{x:Static sr:EntitiesResource.Producer}" DataMemberBinding="{Binding Path=Producer.Name}" Width="200" />
            <telerik:GridViewDataColumn Header="{x:Static sr:EntitiesResource.UnitType}" DataMemberBinding="{Binding Path=UnitType.Name}" Width="150" />
            <telerik:GridViewDataColumn Header="{x:Static sr:EntitiesResource.Price}" DataMemberBinding="{Binding Path=Price}" Width="150" />
            <telerik:GridViewDataColumn Header="{x:Static sr:EntitiesResource.Description}" DataMemberBinding="{Binding Path=Description}" Width="*" />
        </telerik:RadGridView.Columns>
    </telerik:RadGridView>

如何使用 WPF Telerik DataPager 加载大小的 PageSize

默认情况下,数据寻呼程序处理数据集合,并在内部拆分为指定的页面大小。所以你说得对,它得到了一切,然后是页面。但是,对于要在每次页面更改时检索数据 = 页面大小的方案,则需要自定义 rad 数据寻呼程序源。基本上,PageSource的类型是IPagedCollectionView。因此,您需要创建一个实现IEnumerable和Telerik.Windows.Data.IPagedCollectionView接口的类,为这些接口成员提供实现,您将能够实现您的要求。在这里解释它相当冗长。但我能建议的是 - 下载 WPF 的 RadControls 并使用 DataPager 查看无尽分页。这提供了您正在寻找的要求。

希望我能够为您提供一些指示,以满足您的要求。

Lohith(Telerik India技术传播者)