[心得] DataGrid的進階排序技巧

看板C_Sharp (C#)作者 (tomex_ou)時間20年前 (2005/05/16 09:37), 編輯推噓1(103)
留言4則, 1人參與, 最新討論串1/3 (看更多)
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
DataTable竟然有Group By的功能
59.120.34.104 05/16, 3F

59.120.34.104 05/16, , 4F
說錯DataSet
59.120.34.104 05/16, 4F
文章代碼(AID): #12X_b78d (C_Sharp)
文章代碼(AID): #12X_b78d (C_Sharp)