我有一个wpf数据网格,我正在从一个数据表中填充它。到目前为止,我从来没有超过200条记录,所以数据网格的填充是完美的。但是,我现在必须添加对更大数据库的支持。因此,我想给用户显示200条记录,然后让他按某种按钮,显示下一个200条,以此类推。这是为了更快地加载数据网格。
最好的方法是什么?我有一些在asp.net中分页的经验,但是在wpf中从来没有这样的要求。
这是我的数据网格代码:

<DataGrid Name="dgResults"
                  IsReadOnly="True"
                  AutoGenerateColumns="True"
                  AllowDrop="False"
                  CanUserAddRows="False"
                  CanUserDeleteRows="False"
                  CanUserReorderColumns="False"
                  CanUserResizeColumns="False"
                  CanUserResizeRows="False"
                  CanUserSortColumns="False"
                  Margin="15,10,10,10"
                  Visibility="Collapsed"
                  ItemsSource="{Binding}"/>

结合:
dgResults.DataContext = dtResults.AsDataView();

最佳答案

回避这个问题的一种方法是向用户提供一些搜索条件,用户可以使用这些搜索条件查找特定的结果。用户,通常至少,不会翻阅成千上万的结果,除非他们必须这样做。通过只返回任何给定搜索的前x个结果,可以利用这一点。您可以通过使用tsqlSELECT TOP 200 *或使用linq.Take(200)来限制查询返回的结果量。

07-24 09:47
查看更多