`
lc90
  • 浏览: 70517 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

点击表头小图标实现排序

阅读更多

 

集智数据平台的报表中的排序效果是多种多样的,先前已经有过很多点击报表头实现排序的例子,这里我们再介绍一个,在报表头上引入小图标(向上、向下的箭头)来点击,实现字段的排序效果。

 

实现效果图:(模拟数据)

 

升序:

 

 

降序:

 

 

制作方法:

 

1、  Img文件夹中放所需小图标,如下:

 

 

2、  在展现报表的JSP上加入一段引入JS脚本的代码,如下:

 

 

3、  在此JSP上引入img文件夹中的小图标,代码如下:

 

.row-up{background-image:url(’../img/up.png’);background-position:center right;background-repeat:no-repeat; border:1px solid #D4D4D4; font-weight:bold;}

 

.row-down{background-image:url(’../img/down.png’);background-position:center right;background-repeat:no-repeat; border:1px solid #D4D4D4; font-weight:bold;}

 

4、在report_sort.js脚本上用函数实现排序和点击表头排序,代码如下:

 

//添加排序函数

 

         $.fn.sort = function(fun){ 

 

                   var d = this;

 

                   var dom = this.find(’tr:gt(0)’);

 

                   dom.each(function(i){ 

 

                      dom.each(function(j){ 

 

                          if(j<=i){ 

 

                             return true; 

 

                          } 

 

                          var dom1 = dom.eq(i);

 

                          var dom2 = dom.eq(j);

 

                          if(fun(dom1,dom2)){ 

 

                             dom1.before(dom2); 

 

                             dom = d.find(’tr:gt(0)’);

 

                          } 

 

                      }) 

 

                   }) 

 

         } 

 

         // 设置点击表头排序

 

         $(function(){ 

 

                   $(’#report1 tr:nth-child(1)’).find(’td’).each(function(i){ 

 

                      $(this).toggle(function(){ 

 

                          $(this).parent().parent().sort(function(dom1,dom2){ 

 

                              var value1 = parseInt(dom1.find(’td:eq(’+i+’)').text()); 

 

                              var value2 = parseInt(dom2.find(’td:eq(’+i+’)').text()); 

 

                              return value1<value2; 

 

                          })

 

                          init_table();

 

                          $(this).addClass(’row-down’);

 

                      },function(){ 

 

                          $(this).parent().parent().sort(function(dom1,dom2){ 

 

                              var value1 = parseInt(dom1.find(’td:eq(’+i+’)').text()); 

 

                              var value2 = parseInt(dom2.find(’td:eq(’+i+’)').text()); 

 

                              return value1>value2;

 

                          })

 

                          init_table();

 

                          $(this).addClass(’row-up’);

 

                      })

 

                   }) 

 

         })

 

 


更多了解各种复杂问题的处理,可以参考:灵活订阅和调度,丰富的图表展现导出打印几十种静动态统计图和自定义功能满足各种图表展示需求

分享到:
评论

相关推荐

    tablesorter实现HTML表格点击表头排序

    通过这些类,你可以为表头添加相应的图标或样式,以指示用户当前的排序方向。 6. **事件监听**:`tablesorter`还提供了`sortStart`、`sortEnd`等事件,你可以监听这些事件来实现排序过程中的额外操作,如加载更多...

    Delphi xe FireMonkey FMX StingGrid 点击表头排序

    在这个场景中,我们要讨论的核心知识点是如何实现点击表头进行数据排序的功能。 一、StingGrid概述 StingGrid是FireMonkey环境下的一种网格控件,它可以显示二维数据,并允许用户编辑单元格内容。它提供了灵活的...

    js-table-sorter(纯js实现点击表头排序)

    用户只需简单地引入库文件,并对表格进行初始化,就可以实现点击表头进行数据排序的功能。库的体积小、性能高效,且兼容多种浏览器,对于小型项目或需要快速实现排序功能的场景非常实用。 2. **使用步骤** - **...

    实现固定表头和可排序的jQuery表格插件

    本文将深入探讨“实现固定表头和可排序的jQuery表格插件”——StickySort。 StickySort是一款专为jQuery设计的插件,它的主要功能在于解决网页中大型数据表格的问题。在网页滚动时,该插件能够保持表格的表头始终...

    易语言超级列表框表头排序.7z

    10. **用户体验**:在实现表头排序时,还可以考虑添加视觉反馈,如改变表头的颜色或图标,让用户知道当前的排序状态。 以上是“易语言超级列表框表头排序”主题的一些核心知识点。通过学习和实践这些内容,开发者...

    Cognos实现多行表头

    ### Cognos 实现多行表头开发详解 在企业级商业智能(BI)系统中,Cognos作为一款强大的工具被广泛应用于数据分析与报告制作领域。为了更好地展示数据、提高报告的可读性,多行表头的设计成为了不可或缺的一部分。...

    js排序表格,实现按列排序

    要实现按列排序,我们需要监听用户对表头(`&lt;th&gt;`)的点击事件。当用户点击某一列时,程序会根据该列的数据对整个表格进行升序或降序排序。 JavaScript是实现这一功能的核心。可以创建一个函数,接受列索引作为参数...

    单击表头添加升降序符号

    再次点击同一表头,排序方式则会切换为降序,即数值从大到小、字母从Z到A或者日期从晚到早排列。这种交互设计直观易用,极大地提高了数据处理的效率。 对于Excel这样的专业电子表格工具,除了单击表头的自动排序,...

    带箭头排序的ListView示例

    "带箭头排序的ListView示例"是一个具体的开发实践,它展示了如何在ListView中实现数据的动态排序,并通过箭头图标来指示排序状态。这个示例的核心是通过自定义适配器和点击事件处理来实现功能。 首先,我们需要理解...

    extjs3多表头

    - 使用`headerCfg`对象可以自定义表头的样式和行为,例如添加CSS类或图标。 - `tgroupheaders`是另一个可以实现类似效果的组件,它提供了更简单的API,但可能没有那么灵活。 通过以上方法,你可以创建出具有多...

    列表控件排序功能的实现

    6. **SortHeaderCtrl类**:`SortHeaderCtrl.cpp`可能实现了对表头的处理,当用户点击列头时,会触发排序事件。这个类可能扩展了`CHeaderCtrl`,添加了监听和处理排序事件的功能。 7. **对话框类**:`...

    Vue3+element-plus-table-dragable(Sortable.js)实现表格拖动排序

    原创亲测至少节约小白两天时间,本人前端小白搞了好几天才实现表格拖动排序。在网上找的(vue3+sortable.js根本跑不起来)网上好多例子在vue3下根据跑不起来于是,也没有对表格排序的例子。Vuedraggable 是基于并...

    jQuery实现带分组数据的Table表头排序实例分析

    在实现带有分组数据的Table表头排序时,我们通常会遇到一个普遍需求,即点击排序按钮时,表头能够进行升序或降序排序,同时保持“分组”和“分组明细”的数据层次关系不变。在本文中,我们将详细探讨使用jQuery技术...

    table +js 排序

    6. **视觉反馈**:为了提供用户反馈,可以改变被点击的表头的样式,比如改变颜色或添加箭头图标,表示当前的排序状态。 在本例中,可能涉及到的文件有: - `style.css`:包含了表格样式和排序状态的视觉效果,如...

    Qt QTableWidget 基本功能及排序功能

    要实现点击表头排序,首先需要为QTableWidget的表头设置可排序,通过`setSortingEnabled(true)`。然后,重写`sortItems()`函数,根据点击的列进行升序或降序排序。也可以使用`horizontalHeader()`的`...

    c# winform EasyListViewSorter ListView排序 带箭头 例子 源码 数字 字符串 排序

    为了实现点击列头进行排序的功能,我们需要在ListView的`ColumnClick`事件中调用ListView的`Sort`方法,并传入EasyListViewSorter实例。每次点击列头时,都需要检查当前的排序字段是否与新点击的列相同,以便更新...

    MFC之listCtr排序

    它可以展示多列数据,并支持多种视图模式,如报告视图、小图标视图和大图标视图等。在报告视图下,ListCtrl能够方便地进行排序操作。 2. **排序的基本原理** ListCtrl的排序通常通过重载`OnCustomDraw()`和`...

    单击DBGridEh的标题栏排序

    这将显示一个小箭头图标,表明该列可以进行排序。 接下来,函数内部首先检查 `Sender` 是否是 `TDBGridEh` 类型,以及其数据源是否已连接到一个活动的 `TCustomADODataSet`。如果满足这些条件,函数会继续进行排序...

    求表格排序时列标题上小箭头变化代码

    这段代码实现了点击表头时触发的排序功能,并通过CSS类`asc`和`desc`来切换箭头图标。CSS可以设置这两个类以显示不同方向的箭头,例如: ```css .th-arrow { cursor: pointer; } .asc::after { content: '\2191'...

Global site tag (gtag.js) - Google Analytics