找回密码
 立即注册

QQ登录

只需一步,快速开始

拾趣ヾ
金牌服务用户   /  发表于:2024-11-20 11:31  /   查看:33  /  回复:7
问题:切换数值,条件格式规则没有被触发

操作步骤:


1. 按照数据创建一个demo,数据见附件;
2. 通过
     window.sheet = window.spread.getActiveSheet();
     window.spread.commandManager().execute({
        sheet: window.sheet,
        cmd: "editCell",
        sheetName: window.sheet.name(),
        row: 6, col: 4,
        newValue: 1
    });
   命令修改表格内数据,发现已经不符合条件格式规则了,但是样式却没有消失,能帮忙看下是为什么吗


demo.txt

776.57 KB, 下载次数: 2

7 个回复

正序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:昨天 14:29
8#
能否通过一个demo来演示下您这个业务逻辑,我们分析下代码看看如何调整。
附件为demo模板,可在此基础上补充上您的代码。并具体描述下操作步骤以及您遇到的问题。

demo-designer模板 - V17.1.9.html

3.61 KB, 下载次数: 2

回复 使用道具 举报
拾趣ヾ
金牌服务用户   /  发表于:昨天 12:04
7#
拾趣ヾ 发表于 2024-11-21 11:37
我现在是先设置的下拉列表 然后设置了条件格式,之后清除条件格式,但是这种情况下下拉列表由于条件格式 ...

我们是在每次设置下拉列表的时候会通过
const actualStyle = sheet.getStyle(row, col);sheet.setStyle(row, col, actualStyle);
来设置样式以此保证原单元格的样式,这样就会导致条件格式的样式被设置上而取消不掉,请问怎么办呢
回复 使用道具 举报
拾趣ヾ
金牌服务用户   /  发表于:昨天 11:37
6#
Lynn.Dou 发表于 2024-11-20 16:21
您的意思是说,单元格值修改,条件格式变化,为什么不会覆盖单元格背景色等样式吗?
如果是,请看下方关于 ...

我现在是先设置的下拉列表 然后设置了条件格式,之后清除条件格式,但是这种情况下下拉列表由于条件格式而设置上的样式没有消失
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:前天 16:21
5#
本帖最后由 Lynn.Dou 于 2024-11-20 16:23 编辑

您的意思是说,单元格值修改,条件格式变化,为什么不会覆盖单元格背景色等样式吗?
如果是,请看下方关于样式优先级的介绍:
各个级别的样式是同时存在的,优先级高的样式会优先展示。条件格式样式优先级>单元格样式,如果条件格式无样式了,单元格样式就开始生效:
https://demo.grapecity.com.cn/spreadjs/help/docs/faqs/cells/style/style-priority-level#site_main_content-doc-content_title
回复 使用道具 举报
拾趣ヾ
金牌服务用户   /  发表于:前天 14:33
地板
为啥设置下拉选项以后,条件格式变化,不会去清空样式呢
回复 使用道具 举报
拾趣ヾ
金牌服务用户   /  发表于:前天 14:31
板凳
明白了谢谢
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:前天 14:25
沙发
本帖最后由 Lynn.Dou 于 2024-11-20 14:28 编辑

您好,
对于 (row: 6, col: 4)即E7单元格,即使您手动修改单元格值为1,会发现样式也不会变化。
究其原因是因为除了条件格式外,您在E7单元格额外设置了背景色、字体颜色等样式。
image.png533218383.png
所以,条件格式实际已经生效了,显示的样式为额外的背景色等,该命令代码没有问题。
解决方案: 将E7单元格背景色、字体色 样式清空即可(即与E8单元格一致)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部