我记得老早老早大家就开始在经典讨论表格排序的问题了,过了这么多年,这个问题的解决方案层出不穷,见仁见智。
用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.btchina.net就用的script实现的表格排序。btchina的表格排序的script源文件使用的是Erik Arvidsson(WebFX)做的一款程序叫做Sortable Table。官方有强大的技术支持。清访问http://webfx.eae.net/dhtml/tablesort/tablesort.html这款程序相对效率比较高。
演示:http://webfx.eae.net/dhtml/sortabletable/demo.html
官方地址:http://webfx.eae.net/dhtml/tablesort/tablesort.html
3,领军人物windy_sk(wind2000)的script代码.
老牌的,绝对是经典高手,在经典里掀起波澜无数.最早学习的就是他的代码.原贴:
http://www.blueidea.com/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帮助!asp.net的代码终于放上来了,演示:http://www.dc9.cn/c/webform1.aspx
谢谢...阿赖的一个js控件
分享到:
相关推荐
要实现表头排序,我们首先需要在JavaScript中获取到表头单元格,然后绑定点击事件监听器。当用户点击表头时,事件处理器会触发排序逻辑。这个逻辑通常包括以下几个步骤: 1. **获取数据源**:确定表格数据的来源,...
在Drupal中实现输出可点击表头排序的表格是一项常用的功能,尤其在展示列表信息时非常有用。该功能不仅提供了友好的用户界面,也提高了信息检索的效率。本文将详细介绍如何在Drupal中通过几种步骤实现这一功能。 ...
易语言超级列表框的表头排序通常涉及到以下几个步骤: - **获取原始数据**:首先,你需要一个数据结构来存储列表框中的所有数据,如数组或列表。 - **监听表头点击事件**:当用户点击表头时,程序会触发相应的事件...
8. **升序与降序**:表头排序通常应支持升序和降序两种模式,这需要在事件处理函数中添加判断条件,根据用户上一次的排序方式来确定这次排序的方向。 9. **状态标识**:为了跟踪当前的排序状态,可以设置一个变量或...
总的来说,这个压缩包中的资源可能是对如何在BIRT报表中实现表头排序的一种具体实例或教程,对于那些希望掌握这一技能的开发者来说是非常有价值的。通过深入研究这个设计文件和相关教程,可以进一步提升在BIRT报表...
这里我们将详细介绍四种常见的Excel表格排序方法。 **方法一:日期按时间排序** 在处理包含日期的数据时,可能需要按时间顺序排列。首先,选中包含日期的单元格区域,然后点击“开始”菜单中的“数据”,在下拉菜单...
3. **事件处理**:为了响应用户的交互,如点击表头进行排序,我们需要捕获并处理`DataGridView`的相关事件,比如`CellPainting`、`HeaderMouseClick`等,根据不同的层级进行相应的处理。 4. **数据绑定**:自定义的...
在易语言中,实现超级列表框的表头排序主要涉及以下几个步骤: 1. **数据结构**:首先,你需要定义一个数据结构来存储列表框要显示的数据,这个数据结构可以是数组或者列表,每条记录对应列表框的一行数据。 2. **...
以下是实现“表头不可拖动”的几种方法: 1. **禁用ColumnModel的可移动性**: 你可以设置JTable的DefaultTableColumnModel的`isColumnIdentifying()`方法为true,这将使所有列被视为标识列,从而默认不允许拖动。...
今天我们将深入探讨如何实现标题中提及的几个关键功能:自定义复杂表头(包括多行表头和表头合并)、冻结或固定特定行。 首先,让我们从`QTableWidget`开始。`QTableWidget` 是一个即用型的表格控件,提供了完整的...
在实现表头固定的过程中,通常有以下几种方法: 1. **纯CSS方法**:通过CSS的定位(position)属性,可以将表头设置为固定(fixed)。这种方法简单但可能需要对CSS有较深的理解,因为需要处理不同浏览器的兼容性...
5. **事件处理**:在某些情况下,可能需要为多表头添加点击事件,例如,点击表头进行排序。这需要为GridView的HeaderRow或特定的单元格注册点击事件,并编写对应的事件处理函数。 6. **自定义模板列**:对于更复杂...
为了实现点击列头进行排序的功能,我们需要在ListView的`ColumnClick`事件中调用ListView的`Sort`方法,并传入EasyListViewSorter实例。每次点击列头时,都需要检查当前的排序字段是否与新点击的列相同,以便更新...
2. jQuery操作数组实现排序的具体方法:文章描述了一种通过jQuery编写自定义的插件函数`alternateRowColors`来实现隔行变色,同时通过判断表头(`th`元素)的类名来决定该列按什么规则排序。这里用到了`.each()`方法...
在Duilib中,"DuiList" 是一种常见的控件类型,用于展示可排序的数据列表。本篇文章将详细探讨DuiList的排序功能及其相关知识。 首先,我们要理解DuiList的基本概念。DuiList通常用于显示一系列具有相同结构的项目...
实现多维表头的一种方法是通过自定义绘制表头。在.NET中,可以重写DataGridView的OnPaint方法,利用Graphics对象进行绘制。在这个过程中,你需要计算每个单元格的位置、大小以及字体样式等,确保绘制的表头与数据...
5. **事件监听**:为了响应用户操作或其他条件变化,可以设置事件监听器,例如监听按钮点击事件来触发动态改变表头的操作。 6. **代码优化**:在实际应用中,需要考虑性能和用户体验,确保动态操作流畅,避免不必要...
这个主题涉及到了几个关键的交互和展示功能,包括“二维表头”、“内容过滤”、“多列叠加排序”以及“合计行”。下面将详细解释这些概念。 首先,二维表头是指在表格中使用两层或多层的表头来组织数据,通常是为了...
在实际开发中,易语言高级表格复合表头的使用方法通常包括以下几个步骤: 1. 创建高级表格对象,并设置其基本属性,如行数、列数、初始数据等。 2. 创建复合表头,定义各级标题,可以通过添加子表头来实现多层分级。...
实现动态拼合并表头的方法通常包括以下几个步骤: 1. **数据模型设计**:首先,你需要定义一个能够反映数据结构的数据模型。这可能涉及到嵌套对象或者数组,每个层次对应表头的一个级别。 2. **表头生成逻辑**:...