帆软教程:点击表头字段实现排序功能(绝对好用)

帆软报表实现点击表头排序功能

FINEREPORT实现跟EXCEL表格一样的,点击表头升降序功能,效果见下图
示例:(点击字段切换升降序)
在这里插入图片描述

如何实现

一、创建一个数据查询,并添加数据集参数

select * from  `purchase_order`order by ${columns} ${sort}

记得两个参数之间要加个空格
在这里插入图片描述
再添加一个参数模板,用来把箭头传进去
在这里插入图片描述
二、设置单元格
在标题单元格中插入公式:“订单号(你要定义的标题)” + if($columns = “purchase_no(实际数据集中的对应字段名)”, $flag, “”)
在这里插入图片描述
设置标题单元格属性
右击订单号单元格,选择超链接——添加动态参数
在这里插入图片描述
添加图中的三个参数

参数
sort=if($sort=“desc”,“asc”,“desc”)
sortpurchase(标题对应的数据集字段名)
flag=if($flag=“↓”,“↑”,“↓”)

至此 预览一下,大功告成(撒花✿✿ヽ(°▽°)ノ✿)!

  • 9
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
要在HTML表格中实现点击表头字段排序,可以使用JavaScript编写一个函数来执行排序操作。以下是一个简单的示例: HTML代码: ```html <table id="myTable"> <thead> <tr> <th onclick="sortTable(0)">Name</th> <th onclick="sortTable(1)">Age</th> <th onclick="sortTable(2)">Country</th> </tr> </thead> <tbody> <tr> <td>John</td> <td>21</td> <td>USA</td> </tr> <tr> <td>Mike</td> <td>32</td> <td>Canada</td> </tr> <tr> <td>Sarah</td> <td>25</td> <td>Australia</td> </tr> </tbody> </table> ``` JavaScript代码: ```javascript function sortTable(n) { var table, rows, switching, i, x, y, shouldSwitch, dir, switchcount = 0; table = document.getElementById("myTable"); switching = true; dir = "asc"; while (switching) { switching = false; rows = table.getElementsByTagName("tr"); for (i = 1; i < (rows.length - 1); i++) { shouldSwitch = false; x = rows[i].getElementsByTagName("td")[n]; y = rows[i + 1].getElementsByTagName("td")[n]; if (dir == "asc") { if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) { shouldSwitch = true; break; } } else if (dir == "desc") { if (x.innerHTML.toLowerCase() < y.innerHTML.toLowerCase()) { shouldSwitch = true; break; } } } if (shouldSwitch) { rows[i].parentNode.insertBefore(rows[i + 1], rows[i]); switching = true; switchcount ++; } else { if (switchcount == 0 && dir == "asc") { dir = "desc"; switching = true; } } } } ``` 在这个示例中,我们使用一个带有三个表头字段的表格。每个表头字段都添加了一个`onclick`属性,该属性指定了一个JavaScript函数`sortTable()`,该函数将被调用以执行排序操作。 `sortTable()`函数接受一个参数`n`,该参数表示要按照哪个表头字段进行排序。该函数使用`getElementsByTagName()`方法获取表格中的所有行,并使用嵌套的循环遍历这些行。在每次循环中,函数比较两个行的单元格,如果它们需要交换,则使用`insertBefore()`方法交换它们的位置。函数还使用一个变量`dir`来跟踪排序顺序(升序或降序),并在每次循环中修改该变量以确保正确的排序顺序。 在这个示例中,我们将函数绑定到了表头的`onclick`事件上。这意味着当用户点击表头字段时,函数将被调用以执行排序操作。您可以根据需要修改此代码以满足您的特定需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值