找回密码
 立即注册

QQ登录

只需一步,快速开始

eyAndrew
金牌服务用户   /  发表于:2023-9-19 22:36  /   查看:788  /  回复:6
1. 能根据类型判断 所选的表格 是 透视表 还是 普通table么? (或者有没有方法来判断)

2. 透视表的过滤,代码层面怎么实现? 必须用切片器么?

6 个回复

倒序浏览
eyAndrew
金牌服务用户   /  发表于:2023-9-19 23:21:39
沙发
3. 怎么监听过滤事件?
4. 怎么通过代码去调用过滤数据?
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-9-20 11:11:16
板凳
您好,

问题1:没太明白您要通过什么方法去判断?是要用当前选择的单元判断吗?

问题2:切片器是实现透视表排序的一个方法,可以使用代码来实现,具体请参考:https://demo.grapecity.com.cn/sp ... pivot-filter/purejs

问题3:使用PivotTableChanged事件来实现(https://demo.grapecity.com.cn/sp ... s#pivottablechanged

问题4:调用过滤数据是什么意思?能否请您再详细说明一下呢?
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
eyAndrew
金牌服务用户   /  发表于:2023-9-20 12:02:24
地板
Joestar.Xu 发表于 2023-9-20 11:11
您好,

问题1:没太明白您要通过什么方法去判断?是要用当前选择的单元判断吗?

问题1: 不是单元格, 保存的是tableName, 目前,需要先遍历 spread.getActiveSheet().tables.all()去找有没有,然后在遍历spread.getActiveSheet().pivotTables.all(),  我再加个字段来绑定类型把
问题4: 手动把值 塞到第一列的过滤数据里

再问个问题, 透视表需要单独的授权对么?
回复 使用道具 举报
eyAndrew
金牌服务用户   /  发表于:2023-9-20 13:31:39
5#
image.png340312194.png
还有一个问题,通过页面上点击,新增了一个sheet,我怎么监听这个新增sheet? 我要给sheet绑定一些事件处理
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-9-20 14:30:23
6#
本帖最后由 Joestar.Xu 于 2023-9-21 13:40 编辑
eyAndrew 发表于 2023-9-20 12:02
问题1: 不是单元格, 保存的是tableName, 目前,需要先遍历 spread.getActiveSheet().tables.all()去找 ...

您好,关于问题一,目前没有相关的API可以判断该table是表格还是透视表,可以用您说的方法进行判断。

另外,也可以使用sheet.pivotTables.get('数据透视表2')这个接口去实现。

关于问题二,手动设置值的意思是,在过滤后的数据中再手动去添加数据吗?

关于问题三,透视表是需要单独的授权的。
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-9-20 14:36:15
7#
eyAndrew 发表于 2023-9-20 13:31
还有一个问题,通过页面上点击,新增了一个sheet,我怎么监听这个新增sheet? 我要给sheet绑定一些事件处 ...

您好,您说的是sheet,还是table还是pivottable?

如果是sheet的话,可以参考这个帖子:https://gcdn.grapecity.com.cn/showtopic-74198-1-1.html

同理,table和pivottable也可以通过这样的方式去监听。

image.png954530334.png

image.png914831237.png
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部