我需要能夠從成千上萬的可能結果中將結果頁面加載到網格中。我想從服務器獲取五十頁的數據,使用SQL Server對數據進行排序,然後將其返回以綁定到數據網格。當用戶通過單擊列標題對數據網格中的dta進行排序時,我需要檢測這個並在返回數據庫之前確定新的順序。我可以檢測到在Silverlight中排序的datagrid列嗎?
3
A
回答
0
我不認爲有一種方法可以詢問datagrid在哪個列上進行排序。然而,看看http://blogs.msdn.com/scmorris/archive/2008/06/10/sorting-data-in-the-silverlight-datagrid.aspx我看到,您可以在您的項目上實現ICollectionView時實現自己的排序。
所以你也許你可以實現ICollectionView(包裝)你的結果?
Datagrid在內部完成這項工作,如果您將它的ItemSource設置爲IList,那麼也許您可以查看它的實現以瞭解它們是如何實現的? (請參閱使用反射器的Datagrids內部類ListCollectionView)
當您有ICollectionView時,可以使用它的SortDescriptions來查找當前的排序。
我希望這可以幫助你在正確的方向嗎?
Tjipke
0
您可以通過使用一個PagedCollectionView和鑄造SortDescriptions屬性的INotifyCollectionChanged
。您然後收聽CollectionChanged
事件。像這樣:
var collectionView = new PagedCollectionView(items);
(collectionView.SortDescriptions as INotifyCollectionChanged).CollectionChanged += (object sender, NotifyCollectionChangedEventArgs e) =>
{
// This gets fired multiple times based on the previous sort and new sort
};
dataGrid.ItemsSource = collectionView;
相關問題
- 1. 我可以在Silverlight中檢測綁定更改嗎?
- 2. Silverlight 4 Datagrid排序
- 3. ASP.NET DataGrid,可以在特定列上禁用排序嗎?
- 4. 帶排序的Dojo DataGrid - 我可以獲得新訂單嗎?
- 5. Silverlight Datagrid數字排序
- 6. 我可以添加特殊的列進行排序到mysql嗎?
- 7. silverlight datagrid:綁定到對象的排序列
- 8. 我可以在Junit測試中檢測泄漏的線程嗎?
- 9. 我可以在mshtml.IHTMLElement.click()調用中檢測到故障嗎?
- 10. 你可以在Silverlight DataGrid中使用ScrollIntoView()和PagedCollectionView嗎?
- 11. 我可以在邏輯上重新排列表中的列嗎?
- 12. 我可以在DataGrid風格中做到這一點嗎?
- 13. 可以textmate安排我的代碼到可讀列嗎?
- 14. 我可以僅使用函數/公式將列B排序到列C中嗎?
- 15. 我可以在Silverlight應用程序中運行PowerShell腳本嗎?
- 16. (iOS + StoreKit)我可以檢測到我在沙箱中的時間嗎?
- 17. 我們可以使DataTable在列上自動排序嗎?
- 18. 我們可以在iOS上檢測到非iBeacon信標嗎?
- 19. Datagrid中多列排序
- 20. 可以檢測到無限循環嗎?
- 21. 我可以在編譯時檢測項目中的文件嗎?
- 22. 綁定列表到DataGrid Silverlight
- 23. 可以用升壓測試檢查我的程序輸出嗎?
- 24. 我可以添加DLL到Silverlight 3應用程序嗎?
- 25. 我可以將Silverlight應用程序發佈到Mac App Store嗎?
- 26. Silverlight Datagrid:當該列被排序時突出顯示整個列
- 27. Silverlight DataGrid中的列對齊
- 28. Silverlight可以通過瀏覽器實例檢測或通信嗎?
- 29. Silverlight 4 - 相關表datagrid顯示排序
- 30. 排序數據綁定Silverlight DataGrid