DataPager не работает в Silverlight 3 + RIA Services - PullRequest
2 голосов
/ 30 июля 2009

У меня есть приложение Silverlight 3 с RIA Services, и я столкнулся с проблемой, когда мой 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:

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

А вот запрос службы домена:

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

Это довольно просто, поэтому я не уверен, чего не хватает. Любая помощь будет оценена;

Ответы [ 2 ]

3 голосов
/ 01 августа 2009

Потратив слишком много времени, пытаясь заставить это работать, я НАЧИНАЛ выяснить проблему, которая, я думаю, больше связана с технологией RIA Services, потому что я должен был получить какое-то предупреждение об этом.

Простое исправление - упорядочить коллекцию, возвращаемую GetCaseLoads (). Я сделал это так, и это сработало:

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

Удивительно, сколько времени заняло решение этой маленькой проблемы.

0 голосов
/ 04 августа 2009

У меня была та же проблема, я могу видеть из примера, приведенного в документации Обзора RIA Services, что они используют LINQ to SQL вместо LINQ to EF - должно быть что-то с различием между ними.

Спасибо за публикацию обходного решения, избавившего меня от многочасовых ошибок:)

...