我在Silverlight3中有一个简单的数据网格示例,并且使用DomainDataSource和DataPager声明性地使用.NET ria服务填充它(代码隐藏中没有任何东西),并且遇到了这个问题:
LoadSize为30,页面大小为15,加载页面时,第一个和第二个页面正确显示,但当我超出第二个页面时,网格中没有显示任何内容。
这曾经在Silverlight3Beta中与.NET Ria服务的Mix 2009预览版一起工作,我有一个非常简单的例子,并且已经验证了web上的服务项目被调用来加载一个新的批处理,但是网格没有显示任何数据。
有没有人能解释为什么grid只显示初始加载的数据,而不显示来自分页程序的后续批处理?
下面是我的xaml:
<riaControls:DomainDataSource x:Name="ArtistSource" QueryName="GetArtist" AutoLoad="True" LoadSize="30" PageSize="15">
<riaControls:DomainDataSource.DomainContext>
<domain:AdminContext />
</riaControls:DomainDataSource.DomainContext>
</riaControls:DomainDataSource>
<data:DataGrid Grid.Row="1" x:Name="ArtistDataGrid" ItemsSource="{Binding Data, ElementName=ArtistSource}">
</data:DataGrid>
<StackPanel Grid.Row="2">
<data:DataPager Source="{Binding Data, ElementName=ArtistSource}" />
</StackPanel>发布于 2009-07-18 14:18:42
在第一次检索后,检索到的批数据抛出异常:
仅对LINQ中的排序输入支持“Skip”方法。必须在方法“Skip”之前调用方法“OrderBy”。
在添加以下块对数据进行排序后,分页程序可以正常工作:
<riaControls:DomainDataSource.SortDescriptors>
<riaData:SortDescriptor PropertyPath="Name" Direction="Ascending"/>
</riaControls:DomainDataSource.SortDescriptors>这真的让我很痛苦--我本来是要对数据进行排序的,但我只是在最简单的情况下试用寻呼机(我正在从SL3 beta迁移到SL3,也从Mix 2009预览版迁移到2009年7月的.NET RIA服务预览版),并被困在了这个问题上。我认为正常的Linq查询在调用skip之前不需要orderby,但DataPager/DomainDataSource似乎就是这种情况……
呼!
https://stackoverflow.com/questions/1143155
复制相似问题