Службы OData и клиентская страничка Silverlight, я что-то упустил? - PullRequest
0 голосов
/ 24 сентября 2010

У меня есть приложение silverlight, где я использую подход MVVM и извлекаю данные из службы oData.Я хочу использовать встроенную сетку данных и элементы управления пейджером для отображения и перемещения по возвращенным данным.После нескольких часов исследований я чувствую, что нет ничего хорошего, чтобы сделать это.Я думаю, что это потребует от меня написания некоторой пользовательской подкачки и создания моих постраничных запросов самостоятельно.Все, что я могу найти в PagedCollectionView, указывает на то, что он работает только с данными, которые уже кэшированы на стороне клиента.Поскольку я не хочу получать тысячи записей из службы oData одновременно, это не сработает.Есть что-то, чего я здесь не хватает?Что-то непонятное в DataServiceCollection или что-то, что позволяет мне автоматически обрабатывать запросы на пейджере данных?

Ответы [ 2 ]

0 голосов
/ 15 мая 2012

Вот пользовательская реализация, она модифицирует запрос OData для поддержки подкачки http://blogs.msdn.com/b/phaniraj/archive/2010/08/19/implementing-server-side-sorting-paging-for-odata-feeds-in-silverlight-controls-datagrid-datapager-dataform.aspx

Статья была не слишком хороша, но после некоторой путаницы (удалив Frame и просто добавив DataGridSupport в качестве UserControl и сделав свойство NewItemPlaceholderPosition автоматически реализованным), я заставил его исходный код работать. Это впечатляет http://cid -925c2d2bb2d03c6b.office.live.com / self.aspx / Public / EuphoriaClientApp.zip

0 голосов
/ 25 сентября 2010

Это внешняя служба OData или на вашем собственном сервере?

Если вы используете собственную службу, используйте службы RIA.Тогда подкачка будет тривиальной.

Если на другом сервере внедрить службы RIA в любом случае, но заставить ваш сервер получать Odata, постранично и возвращаться с помощью запросов linq служб RIA.

Если вы можете предоставить более подробную информацию о службе данных и настройке вашего сервера, я постараюсь предоставить конкретные сведения.

...