[心得] DataGrid的進階排序技巧
DataGrid是顯示資料的container,雖然它提供簡易的排序
但假如你要做到特殊的計算及排序,可能不知如何著手
這兒提供我的一點經驗給大家測試看看...
顯示的資料流:
Database -> DataTable -> DataView -> DataGrid
由資料流,我們首先可以在sql指令作簡易第一階排序(sort)及過濾(filter)
讀入DataTable,它的 dt.Rows(Columns).Filter()也可以過濾資料
但其dt.Sort倒沒啥用處(你可要試看看)。
而且DataTable的Column.Expression(運算)及Filter在過濾資料很有用
因此得出DataTable的重點在於第2階filter,而非進行第2階的sort。
DataView則更加一步filter及sort資料,尤其它的sort只是顯示
不會把資料位置弄亂,因此第2階的sort應該在DataView解決。
最後,DataGrid只是顯示,或可再針對某欄位進行expression/sort!
結論:
一道sql指令很難得到我們想要的result,連下sql指令又浪費效能
建議把資料撈回dataset中,再進行上述的express/filter/sort
得到真正要的資料。它也可以group by及進行sum()/max()等運算喔...
--
貫徹分享精神
我為人人,人人為我
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.78.132.15
推
59.120.34.104 05/16, , 1F
59.120.34.104 05/16, 1F
→
59.120.34.104 05/16, , 2F
59.120.34.104 05/16, 2F
→
59.120.34.104 05/16, , 3F
59.120.34.104 05/16, 3F
→
59.120.34.104 05/16, , 4F
59.120.34.104 05/16, 4F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章