找回密码
 立即注册

QQ登录

只需一步,快速开始

Clark.Pan 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-4-1 14:55  /   查看:1333  /  回复:2
背景:

在做报表的时候,经常我们需要自己对数据结果做一些分组,例如下图的效果,按照sales的结果对报表的数据进行分组,分成4组:
image.png176651610.png
解决方案:
实现上面的需求,我们可以在字段上添加高级分组可以快速实现,高级分组可以添加多个,在每一个分组中我们可以设置一条或多条规则,如下图所示:
image.png157043761.png
添加后就可以实现上述效果了。

这里有以下需要注意的地方:
1. 分组必须要设置在一个字段上不能是静态数据,因为分组是会根据实际数据的内容进行扩展的,所以不能是静态数据,必须设置在一个动态字段上。


2. 添加高级分组的字段可以是任何字段,因为分组内容的显示基于高级分组中每一个分组的名称,而分组的条件基于分组规则,所以跟设置的字段没有任何关系。
例如下图所示:
image.png169400633.png
分组设置在ShipRegion这个字段上,但是这个字段跟分组条件和内容并无直接关系(分组条件和内容跟Sales字段有关)。

所以基于上述规则,必须方一个字段设置分组,但是这个字段跟分组本身是无关的。这个设定会让大家在报表学习或者查看报表模板时产生疑惑。所以为了增加报表模板的可读性,建议高级分组设置所用的字段,跟分组规则有直接的关系(上面的例子,建议使用Sales字段设置高级分组)。这样设置出来的模板比较容易让人理解。

2 个回复

倒序浏览
ypge
注册会员   /  发表于:2024-8-1 15:13:04
沙发
reportsheet能不能分组合并,先列后横合并单元格
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-8-2 09:20:39
板凳
您提到的合并可以用SpreadJS的自动合并来实现,参考下面的链接:
https://demo.grapecity.com.cn/sp ... e-auto-merge/purejs
可以设置先列后行,或者先行后列
image.png57040709.png
在reportsheet上如果有此需求,可以获取getSheet(),然后autoMerge。
具体参考下图


image.png656333922.png

但是在设置字段时,需要设置List模式,而不是group模式。且,在每次预览后,需要执行autoMerge。



回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部