拾趣ヾ 发表于 2024-11-20 11:31:34

【17.1.5】【条件格式】

问题:切换数值,条件格式规则没有被触发

操作步骤:


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
    });
   命令修改表格内数据,发现已经不符合条件格式规则了,但是样式却没有消失,能帮忙看下是为什么吗


Lynn.Dou 发表于 2024-11-20 14:25:32

本帖最后由 Lynn.Dou 于 2024-11-20 14:28 编辑

您好,
对于 (row: 6, col: 4)即E7单元格,即使您手动修改单元格值为1,会发现样式也不会变化。
究其原因是因为除了条件格式外,您在E7单元格额外设置了背景色、字体颜色等样式。

所以,条件格式实际已经生效了,显示的样式为额外的背景色等,该命令代码没有问题。
解决方案: 将E7单元格背景色、字体色 样式清空即可(即与E8单元格一致)

拾趣ヾ 发表于 2024-11-20 14:31:04

明白了谢谢

拾趣ヾ 发表于 2024-11-20 14:33:00

为啥设置下拉选项以后,条件格式变化,不会去清空样式呢

Lynn.Dou 发表于 2024-11-20 16:21:32

本帖最后由 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

拾趣ヾ 发表于 2024-11-21 11:37:36

Lynn.Dou 发表于 2024-11-20 16:21
您的意思是说,单元格值修改,条件格式变化,为什么不会覆盖单元格背景色等样式吗?
如果是,请看下方关于 ...

我现在是先设置的下拉列表 然后设置了条件格式,之后清除条件格式,但是这种情况下下拉列表由于条件格式而设置上的样式没有消失

拾趣ヾ 发表于 2024-11-21 12:04:32

拾趣ヾ 发表于 2024-11-21 11:37
我现在是先设置的下拉列表 然后设置了条件格式,之后清除条件格式,但是这种情况下下拉列表由于条件格式 ...

我们是在每次设置下拉列表的时候会通过
const actualStyle = sheet.getStyle(row, col);sheet.setStyle(row, col, actualStyle);
来设置样式以此保证原单元格的样式,这样就会导致条件格式的样式被设置上而取消不掉,请问怎么办呢

Lynn.Dou 发表于 2024-11-21 14:29:48

能否通过一个demo来演示下您这个业务逻辑,我们分析下代码看看如何调整。
附件为demo模板,可在此基础上补充上您的代码。并具体描述下操作步骤以及您遇到的问题。

Wilson.Zhang 发表于 昨天 16:27

您好!请教下您的问题是否已得到解决,如果还存在问题,可以反馈下最新进展,咱们据此讨论分析。
页: [1]
查看完整版本: 【17.1.5】【条件格式】