【问题标题】:DataPager not working in Silverlight 3 + RIA ServicesDataPager 在 Silverlight 3 + RIA 服务中不起作用
【发布时间】:2009-07-30 17:11:40
【问题描述】:

我有一个带有 RIA 服务的 Silverlight 3 应用程序,我遇到了一个问题,即我的 DataPager 仅加载初始加载大小的数据,然后不再重新加载。它显示了两页数据(PageSize=10,LoadSize=20。)它正确显示了 119 页数据,但是当我导航到第 3 页时,我的数据网格和数据表单中没有任何内容。

这是我的域数据源:

<riaControls:DomainDataSource x:Name="_dds" QueryName="GetCaseLoads" AutoLoad="True" PageSize="10" LoadSize="20">
    <riaControls:DomainDataSource.DomainContext>
        <domain:FooContext />
    </riaControls:DomainDataSource.DomainContext>
</riaControls:DomainDataSource>

这是 DataPager 的 sn-p:

<data:DataPager Source="{Binding Data, ElementName=_dds}" />

这是域服务查询:

[RequiresAuthentication()]
public IQueryable<CaseLoad> GetCaseLoads()
{
    // Return all case loads
    return this.Context.CaseLoadSet;
}

这很简单,所以我不确定缺少什么。任何帮助,将不胜感激;

【问题讨论】:

    标签: silverlight silverlight-3.0 wcf-ria-services datapager


    【解决方案1】:

    在花了太多时间试图让它工作之后,我终于找到了问题,我认为这更像是 RIA 服务技术的一个错误,因为我应该收到一些关于此的警告消息。

    简单的解决方法是对 GetCaseLoads() 返回的集合进行排序。我是这样做的,它奏效了:

    [RequiresAuthentication()]
    public IQueryable<CaseLoad> GetCaseLoads()
    {
        // Return all case loads
        return this.Context.CaseLoadSet.OrderBy(caseLoad=>caseLoad.fkUserId);
    }
    

    解决这个小问题花了多少时间。

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,我可以从 RIA 服务概述文档中给出的示例中看到,他们使用的是 LINQ to SQL 而不是 LINQ to EF - 这两者之间肯定有所不同。

      感谢您发布解决方法,为我节省了很多时间:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多