DataGrid的表頭排序問題(GridView雷同了啦)

前幾天有客戶要求其在用datagrid控制項顯示資料時可以點擊表頭來進行排序,那因為整個系統有幾十個顯示實質都是套用的那個一模式,只是綁定的datasource不一樣罷了,而且都是用的動態綁定.所以囉,其表頭部分肯定也會做不一樣的處理:

例如:

我的SQL:select no as 代號,name as 名稱,spec as 規格,cdate as 修改日期 from sto_prdt;

那我綁定資料時又需要根據不同的判別條件對個別的才能將datagridallowsorting屬性設定為true,當然默認的為false.

然後問題又出現了,那這樣實質在sorting事件中所得到的e.sortExpressiong.Text得到的是代號,名稱等,而不是no,name,所以直接order by 代號,名稱這樣出來的結果是不對的哦,需要還原到order by no,name所呈現的結果才是對的哦.這裏可以直接再寫一個函數來進行對應調用就好了~

Select case s

Case “代號

   Viewstate(“sort”)=”no”

Case “名稱

   Viewstate(“sort”)=”name”

Case “規格

Viewstate(“sort”)=”spec”

Case “修改日期

Viewstate(“sort”)=”cdate”

Case else

Viewstate(“sort”)=””

End select

還有哦,這樣以後不要忘記了在沒有點擊表頭任何欄位的時候其資料綁定的分頁也要做相應的處理哦,要不然就跟我昨天一樣,還要回去再處理一次,費心費神,也還蠻累的~~

其實在一些動態的綁定資料的時候要善用viewstate,那對整個系統來講嘛,就是要善用session,是善用,不是濫用哦, 濫用會影響你系統執行的速度哦,程式也還需要優化~~~

posted @ 2008-04-01 09:04  medci(卡樂江)  阅读(802)  评论(2编辑  收藏  举报