找回密码
 立即注册

QQ登录

只需一步,快速开始

liuzhijie

注册会员

4

主题

8

帖子

26

积分

注册会员

积分
26
  • 787

    金币

  • 4

    主题

  • 8

    帖子

liuzhijie
注册会员   /  发表于:2024-6-20 10:32  /   查看:1129  /  回复:6
1金币
SpreadJS条件格式获取所有校验结果   我需要获取所有设置条件格式  然后在保存时统一提示

6 个回复

倒序浏览
最佳答案
最佳答案
liuzhijie
注册会员   /  发表于:2024-6-20 10:32:41
来自 5#
Joestar.Xu 发表于 2024-6-20 17:38
您好,条件格式在达成一定的条件后,会自动按照预定的设置修改单元格的样式,SpreadJS原生上没有事件能够获 ...
  1.   getAlertSetting(rowCount, cells) {
  2.       const warningList = reportInfo.warning
  3.       let MessageList = []
  4.       if (warningList.length === 0) {
  5.         return MessageList
  6.       }
  7.       for (let cellIndex = 0; cellIndex < cells.length; cellIndex++) {
  8.         for (let index = 0; index < warningList.length; index++) {
  9.           const element = warningList[index]
  10.           const row = rowCount + cellIndex
  11.           const col = ReportUtils.stringToNum(element.warningCol)
  12.           const value = activeSheet.getValue(row, col)
  13.           const conditionalFormats = activeSheet.conditionalFormats.getRules(
  14.             row,
  15.             col
  16.           )
  17.           if (conditionalFormats && conditionalFormats.length > 0) {
  18.             for (let i = 0; i < conditionalFormats.length; i++) {
  19.               const rule = conditionalFormats[i]
  20.               const warningMsg = element.warningMsg
  21.               const Message = `${row}行-${element.warningCol}列 ${warningMsg}`
  22.               if (rule.evaluate(activeSheet, row, col, value)) {
  23.                 MessageList.push({
  24.                   isConditionMet: true,
  25.                   Message,
  26.                   row,
  27.                   col,
  28.                   value
  29.                 })
  30.               }
  31.             }
  32.           }
  33.         }
  34.       }
  35.       return MessageList
  36.     },
复制代码

评分

参与人数 1金币 +500 收起 理由
Joestar.Xu + 500 赞一个!

查看全部评分

回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-6-20 12:23:54
2#
您好,没太明白您的意思,能再详细说明一下吗?
回复 使用道具 举报
liuzhijie
注册会员   /  发表于:2024-6-20 12:36:31
3#
本帖最后由 liuzhijie 于 2024-6-20 14:12 编辑
Joestar.Xu 发表于 2024-6-20 12:23
您好,没太明白您的意思,能再详细说明一下吗?

就是我在工具栏设置了条件格式,然后呢我在另一个地方使用json渲染出来后,我想要获取到这个条件校验是否通过,然后用来弹出提示 也就是想通过什么方法 获取条件格式是否通过
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-6-20 17:38:14
4#
您好,条件格式在达成一定的条件后,会自动按照预定的设置修改单元格的样式,SpreadJS原生上没有事件能够获取到是否通过校验。

还是说您描述的实际上是数据验证?如果是数据验证的话,可以参考这个帖子:https://gcdn.grapecity.com.cn/showtopic-56329-1-37.html
回复 使用道具 举报
liuzhijie
注册会员   /  发表于:2024-6-20 17:53:09
6#

我通过这样实现了我的需求
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-6-21 09:54:09
7#
好的,问题解决了就好,那就先结贴了,后续有其他问题的话随时开新帖提问哈。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部