2017-08-06 26 views
0

我在UWP应用程序中使用RadDataGrid,配置为使用使用增量加载的数据源。当以明确的增量加载方式使用RadDataGrid时,如何获取它来完成第一次数据加载?

如果我将数据网格配置为自动增量加载,则网格将加载第一个数据块。但是,如果我将它设置为显式加载,用户必须点击“加载更多行”才能获得第一个数据块,这对用户来说并不是很好,特别是因为“更多”意味着已经存在一些数据!

有没有办法触发RadDataGrid自动加载第一块数据,即使它设置为显式?

+0

它不应该像这样。请分享您的代码。 – Jessica

回答

1

看起来您正在使用IncrementalLoadingCollection这是需要手动增量加载的默认实现。如果您不希望用户单击第一个块的“加载更多行”,则可以简单地将第一个数据块代码加载到LoadMoreItemsAsync方法后面。例如,后面

<telerikGrid:RadDataGrid 
    x:Name="grid" 
    IncrementalLoadingMode="Explicit" 
    ItemsSource="{Binding}" /> 

代码:

private void Page_Loaded(object sender, RoutedEventArgs e) 
{ 
    IncrementalLoadingCollection<Data> collection = new IncrementalLoadingCollection<Data>(
    async count => 
    { 
     return (from c in Enumerable.Range(0, 10) 
       select new Data { Category = "Name " + c }).ToList(); 
    }) 
    { BatchSize = 100 }; 

    this.DataContext = collection; 
    collection.LoadMoreItemsAsync(10); 
} 

更多细节请参考this article

相关问题