点击表头排序的几种方法我记得老早老早大家就开始在经典讨论表格排序的问题了,过了这么多年,这个问题的解决方案层出不穷,见仁见智。
用script,htc,xml+xsl等等怎么着都能实现,只是效率不同罢了。 今天正好学习.net的时候学到这一块,顺道把以前和大家讨论过的知识整理回顾并总结一下。 1, CSS+HTC(HTML Component) 微软的这个方法简单,在经典里面也火了一阵,下载Dave Massy做好了的组件,只需要在表格的style里面加入behavior:url(xxx.htc);就可以了. 不过这个方法有个缺点就是需要服务器端运行,在硬盘里直接运行是不管用的。而且需要IE5以后的浏览器,不支持FF等其他的。 演示:http://msdn.microsoft.com/library/en-us/dndude/html/Qual.asp 官方地址: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndude/html/dude07232001.asp 2,script法 这算是目前用得比较多的一种方法了。像http://bt1.就用的script实现的表格排序。btchina的表格排序的script源文件使用的是Erik Arvidsson(WebFX)做的一款程序叫做Sortable Table。官方有强大的技术支持。清访问http://webfx./dhtml/tablesort/tablesort.html这款程序相对效率比较高。 演示:http://webfx./dhtml/sortabletable/demo.html 官方地址:http://webfx./dhtml/tablesort/tablesort.html 3,领军人物windy_sk(wind2000)的script代码. 老牌的,绝对是经典高手,在经典里掀起波澜无数.最早学习的就是他的代码.原贴: http://www./bbs/NewsDetail.asp?id=697036 4,还有一些职业高手的代码,以后继续总结. 还有菜鸟sipo用.net做的代码....(勿笑勿笑) 核心代码是: If viewstate("sortexp") Is Nothing Then viewstate("sortexp") = e.SortExpression.ToString ElseIf viewstate("sortexp") = e.SortExpression.ToString Then viewstate("sortexp") += " desc" Else viewstate("sortexp") = e.SortExpression.ToString End If 感谢miles帮助! |
|