坎尼決定開個新頁面來測一下 paging 及 sorting事件
首先提幾個上篇有誤的地方
1. paging事件仍然要重新取得 DataSource
坎尼上篇沒寫也有作用的原因是:我在 postback 有寫個 bind method 囧>
2. 同上點,排序及換頁都要重新取得 DataSource 然後 DataBind()
於是乎,估狗大神講的都是對的
坎尼不應該對神不敬 orz
下面的作法和各位在網路上查到的排序換頁事件應該差不多
如果你已對這個東西很熟了,不仿再看一下 XDDD
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-lL7hcZltjJ-gF_NTDbC6Eo1ON3Enk9DCxjtrXFKz0Qr7G7Bt4eS8w8fLJJ_E0LtjR7ziI9vpkJ3BbbvvpZlLlIblagc1MOtIEypIgcq_W93eZwA6jKhsdB9LiJXth__HC7Xa3fpQmyhH/s400/sort1.png)
首先,先建立ViewState來記錄排序的順序及欄位
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhT_esPWIsSkDFE-OAP1k6Wgz0SGmRhdxydHQ5MSDD0A_wfASy6avhs073n7CUY74peqwlM-uEfiSZ0kagjuDtpfNduzCW66ckAJLkbJUPpzPJf6f0VVQBznuX60yd4V0vVCm1bJJIBEDcD/s400/sort2.png)
繫結 method
其中 GetDataTable() 是坎尼用來抓北風資料庫資料的 method
等等排序及換頁事件都會呼叫本 method
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJn18CJgxe76rlbDoTXBsQ8hCBQRMBiveHhnkpCoExkD1X7bGa4wL2pQZ8XPoRrznp0ifAf-a5W_Bazhlb7RQU1pg7_768s7RkNNwkF-DKhVU-2RTjUKmOuQr_P4wcmkm8stscMNErXHYd/s400/sort3.png)
換頁事件,很簡單,改個 PageIndex 然後呼叫 GetData()
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjf8OiZsjYYdeA_5HhyphenhyphenOgClwK5LgrQqyEYYCWUSFg4U-oa08TIO7EOmp-BTQ-j6oeO8b8BZtpoLJPbJ8XRplUq6ik6eFnUkE8hHwanRIipwbYfB4L_1xvqbSeb26y6pIycIA8XT3kgJtPCj/s400/sort4.png)
排序事件,判斷的條件和上篇一樣
若是欄位和上次不同,一律用遞增
若是欄位相同,再去判斷排序為遞增或遞減
最後再去呼叫 GetData()
坎尼最近出差幫同事修bug
同事的天才程式讓坎尼改的腦袋都不靈光囉
所以上篇請各位當作笑話看看就好
沒有留言:
張貼留言