在复杂的企业级报表设计中,分页信息(如”第 X 页,共 Y 页”)是不可或缺的元素。然而,面对日益复杂的主从(Master-Detail)报表需求,传统的全局分页往往显得心有余而力不足。
今天,我们将深度解密 SpreadJS V19.0 中增强的 R.CURRENTPAGE 和 R.PAGESCOUNT 公式,看它们如何通过一个简单的参数,完美解决分组分页统计的难题。
1.业务痛点:当全局页码遇上主从报表
在开发如”年度销售汇总”、”个人工资单”或”客户对账单”等报表时,我们经常使用主从报表结构。
- 全局页码:告诉读者整份文档有多少页。
- 分组页码:这才是真正的痛点。例如,一份包含 100 个客户的对账单报表总共有 500 页,但客户 A 的账单可能只占其中的第 3 到第 5 页。对于客户 A 来说,他希望看到的是”第 1 页,共 3 页”,而不是”第 3 页,共 500 页”。
在过去,实现这种逻辑需要复杂的代码计算或繁琐的变通方案。而 SpreadJS V19.0 报表插件(ReportSheet)通过对基础公式的增强,将这一难题化繁为简。
2.公式进化:引入 use_grouped_context 参数
在 V19.0 中,我们为 R.CURRENTPAGE 和 R.PAGESCOUNT 两个核心分页函数引入了一个关键的可选参数:use_grouped_context(布尔值,默认值为 false)。
公式详情:
- R.CURRENTPAGE(use_grouped_context)
false(或不传):返回整份报表的全局当前页码。true:返回当前主从分组(Group)内的逻辑当前页码。
- R.PAGESCOUNT(use_grouped_context)
false(或不传):返回整份报表的全局总页数。true:返回当前主从分组(Group)内的逻辑总页数。
相关推荐
- 「第三届开放原子大赛」获奖队伍专访来啦!企业篇
- 从本体论到落地实践:制造业数字化转型的核心逻辑与工具选择 | 葡萄城技术团队
- 轻松搞定Excel公式错误:SpreadJS让表格开发不再头疼 | 葡萄城技术团队
- vivo GPU容器与 AI 训练平台探索与实践
- SQLShift V6.0 发布!函数迁移&达梦适配一步到位!
- Oinone × AI Agent 落地指南:别让 AI Agent 负责“转账”:用神经-符号混合架构把它从 Demo 拉进生产
- 借助 Okta 和 NGINX Ingress Controller 实现 K8s OpenID Connect 身份验证
- 同样是低代码,为什么有人扩容有人烂尾?答案藏在交付体系里-拆解 Oinone 的交付底座