请选择
进入手机版
|
继续访问电脑版
学习路径
视频资源
开发者学堂
悬赏
活动
招聘
登录
/
注册
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
搜索
AI搜索
SpreadJS
活字格
Wyn
GcExcel Java
公开课
新手入门
新手训练营
技术认证
好友
帖子
收藏
勋章
设置
我的收藏
退出
首页
›
SpreadJS & GcExcel专区
›
教程集锦
›
查看内容
发新帖
Winny
超级版主
157
主题
283
帖子
1990
积分
超级版主
积分
1990
6333
金币
157
主题
283
帖子
最新发帖
自定义设计器文件菜单,添加上传服务器功能
LIMS检测模板录入及数据提取
ReportSheet添加单元格筛选
SpreadJS V18.1 AI能力预览
全局注册四舍六入五成双
SpreadJS 编辑权限控制管理
SpreadJS V18导入导出SJS文件时保存绑定树结构
SpreadJS控制下拉类型单元格不可编辑,只能通过下拉选择
SpreadJS V18功能更新列表
【不推荐】删除数据绑定结构树下的单元格类型
spreadjs基于数据绑定的分组填报功能
Winny
超级版主
/ 发表于:
2025-11-28 17:27
/
查看:
28
/ 回复:
0
需求背景:SpreadJS中提供了相同值自动合并,用于完成类似报表工具中的分组聚合功能,但于此同时,客户希望能够像报表工具一样,插入合并分组子项,同时能够获取插入后填写的数据,完成数据持久化逻辑。此时由于对合并逻辑不够清洗,导致无法完成该需求,本文我们来详细介绍下此类需求的实现逻辑。
首先我们来了解一下
相同值自动合并
的逻辑。其实相当简单,就是spreadjs中封装了一个小算法,帮开发人员完成了相同值检测的逻辑,根据算法定位出合并区域,调用合并api即可。此时用getValue获取被合并区域的每一个单元格值时,得到的都会是一个相同的值。同时,自动合并逻辑也包含了上下文检测,提供了严格合并模式和自由合并模式。而严格合并模式,即在对当前单元格进行合并时,先会检测左边是否是同一个合并区域,如果不是,则认为检测出的区域不属于同一个上下文,即使值相同也不会进行合并。
插入子项我们可以选择自定义右键菜单或自己做一个小按钮,这里为了演示简单,我直接做了一个小按钮,此时点击按钮时,需要完成的逻辑如下:
1. 判断当前区域是否为合并区域,根据返回值定位需要插入行的索引位;
2. 重新设置表格绑定区域大小;
3. 接触原来表格区域的相同值合并逻辑(不解除直接绑定会报区域相交)
4. 执行区域相同值合并;
详细代码见附件。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有帐号?
立即注册
x
收藏
回复
0
个回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
发表回复
返回顶部