首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有silverlight 3 DataGrid和.Net RIA服务的DomainDataSource DataPager

带有silverlight 3 DataGrid和.Net RIA服务的DomainDataSource DataPager
EN

Stack Overflow用户
提问于 2009-07-17 13:08:23
回答 1查看 14.2K关注 0票数 2

我在Silverlight3中有一个简单的数据网格示例,并且使用DomainDataSource和DataPager声明性地使用.NET ria服务填充它(代码隐藏中没有任何东西),并且遇到了这个问题:

LoadSize为30,页面大小为15,加载页面时,第一个和第二个页面正确显示,但当我超出第二个页面时,网格中没有显示任何内容。

这曾经在Silverlight3Beta中与.NET Ria服务的Mix 2009预览版一起工作,我有一个非常简单的例子,并且已经验证了web上的服务项目被调用来加载一个新的批处理,但是网格没有显示任何数据。

有没有人能解释为什么grid只显示初始加载的数据,而不显示来自分页程序的后续批处理?

下面是我的xaml:

代码语言:javascript
复制
    <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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-07-18 14:18:42

在第一次检索后,检索到的批数据抛出异常:

仅对LINQ中的排序输入支持“Skip”方法。必须在方法“Skip”之前调用方法“OrderBy”。

在添加以下块对数据进行排序后,分页程序可以正常工作:

代码语言:javascript
复制
<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似乎就是这种情况……

呼!

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1143155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档