文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

大数据集报表点击表头排序

2023-06-02 13:31

关注

在润乾官方在线 demo的 "交互报表" 中,有介绍 "点击表头排序" 的报表案例,该报表针对普通统计类报表。对于使用大数据集的报表,当按照此方式改造时发现排序没起作用或仅对第一页或前几页排序,后面的都没成功。

要想了解啥原因导致?就需要分析该报表的做法及知道大数据集的取数原理。

首先,来分析下在线 demo“点击报表排序”的做法。

润乾报表中实现排序的方式有两种:

借助数据集 sql,即 order by …

数据集函数

如ds.select()

都有排序表达式 sort_exp 或 order_exp.

示例中用的是第 2 中方法,因普通报表是一次性把所有数据取到内存,所以数据集函数排序是对所有数据的排序,点表头实际就是按照某字段对所有数据排了一次序,也就没啥问题了。

大数据集报表点击表头排序

接下来看大数据集报表的取数原理。

大数据集报表点击表头排序

简单来说,大数据集取数原理是为了避免一次取大量数据导致内存溢出,采取了游标方式边取边呈现的方案(其中取出的数据缓存在磁盘文件,前端呈现从缓存文件读取)。

了解了该方案后,我们就清楚了,采用排序的第 2 中方案,显然只能针对一部分数据排序后呈现,并不针对所有数据。

解决方案也就明确了:要想实现大数据集报表的表头排序,必须用第 1 中方法。

改造:

去掉数据集函数排序

大数据集报表点击表头排序

把排序调到 sql 中

大数据集报表点击表头排序

修改超链接

因普通报表和大数据集报表用的 jsp 不同,所以要改一下。

以 B4 为例,把 showReport.jsp 改为 showBigReport.jsp

大数据集报表点击表头排序

报表属性内把数据集改为大数据集

大数据集报表点击表头排序

通过以上 4 步,就可以完成点击表头排序功能从普通到支持大数据集。另外如果想实现升降序切换也很简单,除了点表头传排序的字段名外,再传一个 asc 或 desc 的排序方式拼到 SQL 中即可。只要知道了原理及方案,改造起来相对轻松。

Ps:"点击表头排序" 的示例报表,在设计器 demo 内也有,可在 "交互报表" 目录获取。

详情链接:http://c.raqsoft.com.cn/article/1575512177616?r=gxy

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯