C# 服务器端分页
我正在通过C# 服务器端分页,c#,silverlight,datagrid,pagination,server-side,C#,Silverlight,Datagrid,Pagination,Server Side,我正在通过ItemsSource属性将数据加载到我的DataGrid。我还有一个DataPager用于分页。网格通过调用WCF服务来填充,该服务返回一个列表 public void webService_GetProductsCompleted(object sender, GetServiceReference.GetProductsCompletedEventArgs e) { PagedCollectionView pagingCollection = new PagedCollec
ItemsSource
属性将数据加载到我的DataGrid
。我还有一个DataPager
用于分页。网格
通过调用WCF服务来填充,该服务返回一个列表
public void webService_GetProductsCompleted(object sender, GetServiceReference.GetProductsCompletedEventArgs e)
{
PagedCollectionView pagingCollection = new PagedCollectionView(e.Result);
pgrProductGrids.Source = pagingCollection;
grdProductGrid.ItemsSource = pagingCollection;
}
现在有一个新的要求,我希望通过
服务器端分页加载数据。我是学习Silverlight的新手,Silverlight
对我来说,服务器端分页的概念也是全新的。所以我来这里是想知道服务器端分页需要什么。有什么好的示例
,教程
,分步指南
可以给我一个方向吗?我必须在有限的时间内完成这项任务。请指导老年人我通常使用以下两个选项中的一个:
1:如果您的数据是按具有唯一值的字段进行排序/分页的,则让数据库利用TOP
功能和ORDER by
完成繁重的工作。这样,从服务器返回到页面的数据量最小。在下面的示例中,MyTable有一个字段“NAME”,该字段是唯一的,并且是我希望对数据进行排序的方式。我每页有10张唱片
SELECT TOP 10 * FROM MyTable Where Name> [The last name in the previous 10 results] ORDER BY Name
如果您想使用诸如ROW_NUMBER()之类的窗口函数,可以将其用于多个字段(我不知道您使用的是什么数据库,这假定为SQL Server)
2:如果不是这样的话,那就很难看了。在某些迭代代码中,您需要获取[最后一页*每页数]和每页记录数之间的所有数据和记录。(丑陋、速度慢、内存大,在大数据集上不可能实现。)我通常使用以下两个选项中的一个:
1:如果您的数据是按具有唯一值的字段进行排序/分页的,则让数据库利用TOP
功能和ORDER by
完成繁重的工作。这样,从服务器返回到页面的数据量最小。在下面的示例中,MyTable有一个字段“NAME”,该字段是唯一的,并且是我希望对数据进行排序的方式。我每页有10张唱片
SELECT TOP 10 * FROM MyTable Where Name> [The last name in the previous 10 results] ORDER BY Name
如果您想使用诸如ROW_NUMBER()之类的窗口函数,可以将其用于多个字段(我不知道您使用的是什么数据库,这假定为SQL Server)
2:如果不是这样的话,那就很难看了。在某些迭代代码中,您需要获取[最后一页*每页数]和每页记录数之间的所有数据和记录。(难看、速度慢、内存大,在大数据集上不可能。)你在google.com上找不到任何教程吗?或者“不做任何工作”对你来说更好吗?我做了,但一切似乎都很混乱,所以我来到这里,如果有人能给出所涉及步骤的一般指南,那么我知道在互联网上特别搜索什么。目前我没有任何线索。另外,大多数示例都使用了WCF-RIA-Services
,我想知道如果没有RIA
,我如何才能让它正常工作?你在google.com上找不到任何教程吗?或者“不做任何工作”对你来说更好吗?我做了,但一切似乎都很混乱,所以我来到这里,如果有人能给出所涉及步骤的一般指南,那么我知道在互联网上特别搜索什么。目前我没有任何线索。另外,大多数示例都使用了WCF-RIA-Services
,我想知道如果没有RIA