找回密码
 立即注册

QQ登录

只需一步,快速开始

panqz

初级会员

42

主题

98

帖子

452

积分

初级会员

积分
452
panqz
初级会员   /  发表于:2021-8-19 09:45  /   查看:2660  /  回复:7
条件格式是否在成立时触发自定义command。现在的公式 activeSheet.conditionalFormats.addFormulaRule(formula, style, this.ranges);只能在条件成立后触发样式改变,如何在条件成立后触发自定义command,或自定义代码?如果不能实现,可有其他的解决方案。需求是某个单元格值满足某个条件时,隐藏某行。

7 个回复

倒序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-8-19 10:41:52
沙发
您好,条件格式是根据指定的条件产生对应的样式(style)到表单上。想隐藏行这种命令操作,条件格式无法实现。

目前比较好的方法或者时机就是利用事件实现,例如监听ValueChanged事件,在这个事件中做下判断,是否符合指定的单元格,符合则执行visible隐藏行。sheet.getRange(1,-1,1,-1).visible(false)
回复 使用道具 举报
panqz
初级会员   /  发表于:2021-8-19 11:34:49
板凳
能否这样实现?根据指定的条件产生对应的样式,我在监听这个style的改变,再执行相应的command
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-8-19 12:19:13
地板
panqz 发表于 2021-8-19 11:34
能否这样实现?根据指定的条件产生对应的样式,我在监听这个style的改变,再执行相应的command

您可以尝试监听cellChanged事件,样式改变时会触发propertyName为"[styleinfo]",在事件中判断propertyName是否等于"[styleinfo]"可得知是否触发了样式的变化
image.png935708007.png
回复 使用道具 举报
panqz
初级会员   /  发表于:2021-8-19 15:19:24
5#
通过条件格式更改的单元格颜色改变,cellchange无法监听,如addFormulaRule设置条件成立时单元格b2的背景色变红。但cellchange无法监听b2的样式改变
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-8-19 15:53:56
6#
panqz 发表于 2021-8-19 15:19
通过条件格式更改的单元格颜色改变,cellchange无法监听,如addFormulaRule设置条件成立时单元格b2的背景色 ...

您可以参考附件的demo

inandout.html

1.96 KB, 下载次数: 78

回复 使用道具 举报
panqz
初级会员   /  发表于:2021-8-19 16:04:20
7#
这个demo=和项目存在一样的问题,监听条件触发只能监听到第一次触发,将c1的值再修改,就无法监听到了
image.png364361266.png
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-8-19 16:51:10
8#
本帖最后由 Derrick.Jiao 于 2021-8-26 13:57 编辑
panqz 发表于 2021-8-19 16:04
这个demo=和项目存在一样的问题,监听条件触发只能监听到第一次触发,将c1的值再修改,就无法监听到了

问题已收到,我们需要做进一步调研,看下是否有更好的方案。此贴为您改为保留处理,有进展会在本帖更新(SJS-9745)

——————————————————————————————————————————————
经调研,目前暂时没有事件可以监听这个条件格式的变化,这边也会向研发提对应的需求,评估看是否会在后续版本实现。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部