我有一个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)
来限制查询返回的结果量。