Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 服务器端分页_C#_Silverlight_Datagrid_Pagination_Server Side - Fatal编程技术网

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