記 Silverlight DataGrid 服務端分頁

    很久沒記錄了。對象

    最近在修改銀光裏面一個導航,使用DataGrid實現列表功能,以前使用到分頁,其餘人寫的相似於本身寫一個【上一頁】【下一頁】【跳轉至】。。。。每一個按鈕單獨寫了事件,後臺若干全局變量控制。如今要修改此處功能,加上一些相似跳轉至【1】【2】【3】【4】【5】 等等之相似頁碼,開始弄時有點先入爲主的概念,在以前的按鈕上分別去寫這些事件,結果越寫越亂(代碼寫次了),其中有實現相似於點擊【下一頁】或者某個頁面時,動態去改變頁碼的功能。一堆代碼寫完了之後,感受頭暈暈,這麼寫明顯不該該啊。週末來加班,從新梳理下思路,決定此處應使用控件了,大概流程應該以下:事件

1.確認查詢條件後,取出數據總行數。io

2.分頁取出數據記錄。後臺

3.將數據總行數以List<int> 形式存放,將此集合實例化爲對象PagedCollectionView 注: PagedCollectionView pcv = new PagedCollectionView(list);變量

4.將此對象賦值給分頁控件DataPager,這樣分頁控件將存放全部記錄數,確認每一頁記錄數就能夠確認當前控件的總頁數 注:dataPager.Source = pcv;List

5.分頁控件數據源綁定完成後,添加事件PageIndexChanged,當頁碼發生改變時觸發,這裏能夠獲得PageIndex的值,也就是當前頁碼分頁

6.在DataGrid中,咱們能夠分頁取數據,以分頁控件PageIndex值爲條件,進行分頁查詢。這樣作的好處顯而易見,PagedCollectionView對象沒必要一次綁下大量的記錄,只須要記下總記錄就能夠,DataGrid綁定數據時,能夠分批次的去綁定。數據

7.由於有需求,因此在最後給DataPager控件添加自定義樣式,讓它的外觀知足需求。查詢

相關文章
相關標籤/搜索