2010-09-24 46 views
0

我有一個silverlight應用程序,我使用MVVM方法並從oData服務中獲取數據。我想要做的是使用內置的數據網格和數據傳呼控制來顯示和移動返回的數據。經過幾個小時的研究,我覺得沒有什麼好的方法可以做到這一點。我認爲這需要我自己編寫一些自定義分頁和建立分頁查詢。我可以找到有關PagedCollectionView的所有內容似乎表明它只適用於已經在客戶端緩存的數據。因爲我不想一次從oData服務中獲取數千條記錄,所以這是行不通的。有什麼我在這裏失蹤?關於DataServiceCollection的事情或者讓我讓數據分頁器自動處理構建查詢的東西?OData服務和Silverlight客戶端分頁,我錯過了什麼?

回答

-2

這是一個外部OData服務,還是在您自己的服務器上?

如果在您自己的服務上,請改用RIA服務。然後,分頁是微不足道的。

如果在另一臺服務器上,無論如何實現RIA服務,但讓服務器以分頁方式獲取Odata,並通過RIA服務返回linq查詢。

如果您可以提供更具體的數據服務和服務器設置的詳細信息,我會嘗試提供具體的細節。

+0

重新-1:必須是*隨機的投票權渺茫*再次...真正的開發者會提供一個評論或其他答案。恥辱。 – 2012-01-20 13:39:53

0

這裏有一個自定義實現,它修改的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

這篇文章是不是太大,但經過一番擺弄(刪除框架,只是增加DataGridSupport爲用戶控件,並且使NewItemPlaceholderPosition屬性自動實現)我確實有他的源代碼工作。這是相當令人印象深刻的http://cid-925c2d2bb2d03c6b.office.live.com/self.aspx/Public/EuphoriaClientApp.zip

相關問題