作者tomex (tomex_ou)
看板C_Sharp
标题[心得] DataGrid的进阶排序技巧
时间Mon May 16 09:37:22 2005
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
1F:推 seagal:推推 59.120.34.104 05/16
2F:→ seagal:想不到 59.120.34.104 05/16
3F:→ seagal:DataTable竟然有Group By的功能 59.120.34.104 05/16
4F:→ seagal:说错DataSet 59.120.34.104 05/16