找回密码
 立即注册

QQ登录

只需一步,快速开始

BattleHawk76

注册会员

2

主题

32

帖子

74

积分

注册会员

积分
74
最新发帖
BattleHawk76
注册会员   /  发表于:2023-12-2 16:45  /   查看:2364  /  回复:10
1金币
本帖最后由 Lynn.Dou 于 2023-12-6 17:49 编辑

产品:SpreadJS
版本:V16.2.6

excelSheet.value.conditionalFormats.addFormulaRule(
        "=[@checked]=true",
        style,
        [new GC.Spread.Sheets.Range(-1, -1, -1, -1)]
      );




// 表格选择拖动
    excelSheet.value.bind(
      GC.Spread.Sheets.Events.SelectionChanging,
      (e, info) => {
        proxy.lodash.forIn(props.data, (item, index) => {
          // 默认初始化为false
          item.checked = false;
          proxy.lodash.forIn(info.newSelections, (arr) => {
            // 全选
            if (arr.row == -1) {
              item.checked = true;
              return;
            }
            if (index >= arr.row && index < arr.row + arr.rowCount) {
              item.checked = true;
            }
          });
        });
      }
    );



添加了sheet的选择绑定.将每一列选中添加参数checked为true.
image.png741502685.png
没有变色

最佳答案

查看完整内容

了解您的需求了,您可以尝试将公式改成这个:=$A1=TRUE sheet.conditionalFormats.addFormulaRule("=$A1=TRUE", style, [ new GC.Spread.Sheets.Range(-1, 1, -1, 1), ]);

10 个回复

正序浏览
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-12-5 10:27:21
11#
BattleHawk76 发表于 2023-12-5 09:53
可以了.谢谢版主大哥了.

好的,那么本贴就先结帖了,后续有新的问题欢迎继续发帖讨论
回复 使用道具 举报
BattleHawk76
注册会员   /  发表于:2023-12-5 09:53:47
10#
Richard.Huang 发表于 2023-12-4 17:30
了解您的需求了,您可以尝试将公式改成这个:=$A1=TRUE

sheet.conditionalFormats.addFormulaRule("=$ ...

可以了.谢谢版主大哥了.
回复 使用道具 举报
BattleHawk76
注册会员   /  发表于:2023-12-4 16:45:36
8#
Richard.Huang 发表于 2023-12-4 15:52
您好,通过您的描述来看,您参考的学习指南是“集算表”中的条件格式样式,该条件格式样式的操作方法并不 ...

因为监听了选择方法.将checked改为了true.但是如果我删除了某个值之后并不会触发选择方法.
所以我想要高亮checked为true的行
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-12-4 15:52:56
7#
BattleHawk76 发表于 2023-12-4 13:30
因为我是通过监听选择事件去渲染checked为true的.我想要让他被选中的那些行高亮

您好,通过您的描述来看,您参考的学习指南是“集算表”中的条件格式样式,该条件格式样式的操作方法并不适用于普通表格,根据您的代码来看您的场景是数据绑定+条件格式。您的需求“我想要让他被选中的那些行高亮”的目的是什么,能否描述一下场景,方便我们为您推荐更加适合您场景的解决方案
回复 使用道具 举报
BattleHawk76
注册会员   /  发表于:2023-12-4 13:30:59
6#
Richard.Huang 发表于 2023-12-4 13:03
您好,请问您=[@checked]=true公式的作用是什么,经过测试即使是Excel也不支持该公式,是否可以更换其他 ...

因为我是通过监听选择事件去渲染checked为true的.我想要让他被选中的那些行高亮
回复 使用道具 举报
BattleHawk76
注册会员   /  发表于:2023-12-4 13:26:14
5#
image.png469107665.png
demo里是这样子使用的
回复 使用道具 举报
BattleHawk76
注册会员   /  发表于:2023-12-4 13:24:30
4#
image.png452521056.png
我在计算表里看见了这个公式的引用
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-12-4 13:03:34
3#

您好,请问您=[@checked]=true公式的作用是什么,经过测试即使是Excel也不支持该公式,是否可以更换其他公式来满足您的需求呢
回复 使用道具 举报
BattleHawk76
注册会员   /  发表于:2023-12-2 16:47:28
2#
image.png766699828.png
回复 使用道具 举报
最佳答案
最佳答案
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-12-2 16:45:39
来自 9#
BattleHawk76 发表于 2023-12-4 16:45
因为监听了选择方法.将checked改为了true.但是如果我删除了某个值之后并不会触发选择方法.
所以我想要高 ...

了解您的需求了,您可以尝试将公式改成这个:=$A1=TRUE

sheet.conditionalFormats.addFormulaRule("=$A1=TRUE", style, [
  new GC.Spread.Sheets.Range(-1, 1, -1, 1),
]);
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部