点击表头切换升降序排序方式

需求:
      在报表的实际应用中有很多客户希望可以通过点击表头切换该列数据的排序。

实现方式:
     超链接结合参数以及单元格表达式来实现,具体举例如下
    
原表样如下

实现原理:通过点击第一行任意格的值,通过 A2 单元格表达式控制排序

1. 首先在原报表中增加三个参数如下

2. 修改 A2 单元格表达式为  =ds1.select(EMPID;${macro1}:${macro2})

3. 给需要通过点击表头排序的的报表头单元格设置超链接表达式,比如 : 我要点击 A1 单元格对 EMPID 排序进行切换  那么 选中 A1 单元格  在超链接表达式中书写表达式:  “./showReport.jsp?rpx=/paixu.rpx&macro1=”+A1+“&macro2=”+arg2+“&arg2=”+if(arg2==1,-1,1)
注:其他单元格设置同 A1。
完成如上设置就可实现点击表头切换该列数据的排序。



作者:IBelieve
链接:http://c.raqsoft.com.cn/article/1534921694420?r=IBelieve
来源:乾学院
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过自定义表头来实现保留排序列的高亮显示。 首先,在表头中添加一个额外的样式类,用于控制当前排序列的高亮显示: ```html <el-table-column prop="a" label="A" sortable :class="{'sorted': sortProp === 'a' && sortOrder === 'descending'}"> </el-table-column> <el-table-column prop="b" label="B" sortable :class="{'sorted': sortProp === 'b' && sortOrder === 'descending'}"> </el-table-column> ``` 其中,`:class="{'sorted': sortProp === 'a' && sortOrder === 'descending'}"` 表示如果当前排序列是 `a` 列并且排序方式降序,就添加 `sorted` 样式类。同理,`:class="{'sorted': sortProp === 'b' && sortOrder === 'descending'}"` 表示如果当前排序列是 `b` 列并且排序方式降序,就添加 `sorted` 样式类。 接着,在表头中添加点击事件,用于处理列排序,并更新当前排序列的状态: ```html <el-table-column prop="a" label="A" sortable :class="{'sorted': sortProp === 'a' && sortOrder === 'descending'}" @sort-change="handleSortChange('a')"> </el-table-column> <el-table-column prop="b" label="B" sortable :class="{'sorted': sortProp === 'b' && sortOrder === 'descending'}" @sort-change="handleSortChange('b')"> </el-table-column> ``` 其中,`@sort-change="handleSortChange('a')" ` 表示如果点击了 `A` 列,就调用 `handleSortChange('a')` 方法进行排序,并更新当前排序列为 `a`。 最后,在组件中定义 `sortProp` 和 `sortOrder` 变量,并实现 `handleSortChange` 方法: ```javascript export default { data() { return { sortProp: null, sortOrder: null, tableData: [...] }; }, methods: { handleSortChange(prop) { if (this.sortProp === prop) { this.sortOrder = this.sortOrder === 'descending' ? 'ascending' : 'descending'; } else { this.sortProp = prop; this.sortOrder = 'descending'; } } } } ``` 其中,当点击的列和当前排序列相同时,就切换排序方式;否则,就将当前排序列更新为点击的列,并将排序方式设置为降序。这样就可以实现保留点击的列的排序高亮显示了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值