帆软报表单元格公式里面能写JS代码吗?

问题 A :  目前有一个需求 报表里面有一 A3列的值  是  dbs1.bno   现在有一个dbs2 查询的是bno的集合数据,现在 是 有另外一个 单元格   C3 要求   如果A3 的值在 dbs2 bno列表里面就把   C3 单元格的背景颜色修改为红色。怎么实现,能在 K3条件自定义公式里面写JS 代码吗?  之前问了gpt  

给出如下答案  :

// 假设A1的值是当前单元格所在行的某个单元格的值(这里假设是A列的当前行值)  

var A_value = this.getCellValue(0, "A1"); // 0表示当前行,"A1"是列名(注意:这里应该是实际的列名或单元格引用,如果A1是列名则可能不正确,应改为如"A列的实际名称"或省略第二个参数直接获取当前单元格的左侧单元格值,但这里我们假设它正确指向了需要的值)  

  

// 遍历数据集ds1(注意:这里的数据集名称应该根据实际情况替换)  

var exists = false;  

var datasetName = "超期分段号列表"; // 数据集名称  

var dataset = this.getWidgetByName(datasetName).getDataset().getData();  

for (var i = 0; i < dataset.length; i++) {  

    if (dataset[i]["BLOCK_NO"] == A_value) { // 假设字段名为"BLOCK_NO"  

        exists = true;  

        break;  

    }  

}  

  

// 返回判断结果  

return exists;

但是我试了一下不行又什么解决方案吗?  比较着急

FineReport 帆软用户H8m0yxfBAS 发布于 2024-10-21 11:34
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
CD20160914Lv8专家互助
发布于2024-10-21 11:37(编辑于 2024-10-21 11:50)

直接公式就行了

 INARRAY(a2,b2[!0])>0

image.png

inarray($$$,value("dbs2",2))>0

  • 帆软用户H8m0yxfBAS 帆软用户H8m0yxfBAS(提问者) 这个指的是 a2 的值是否在 b2 集合里面吗?
    2024-10-21 11:44 
  • 帆软用户H8m0yxfBAS 帆软用户H8m0yxfBAS(提问者) 不还是没看明白怎么写: 如果是判断 a3列的值是否在 dbs2 数据集里面怎么写呢
    2024-10-21 11:49 
  • CD20160914 CD20160914 回复 帆软用户H8m0yxfBAS(提问者) inarray($$$,value("dbs2",2))>0 dbs2的第2列是你的编号列。如果不是,你改成对应的列序号数字就行了。写在a3单元格的条件属性中
    2024-10-21 11:50 
  • 帆软用户H8m0yxfBAS 帆软用户H8m0yxfBAS(提问者) 回复 CD20160914 好的,我先试试
    2024-10-21 13:55 
  • 帆软用户H8m0yxfBAS 帆软用户H8m0yxfBAS(提问者) 回复 CD20160914 大佬 : IF( LEN(accuracyStatus) = 0, inarray(C3, value("db1", 2)) > 0, IF( accuracyStatus = 1, inarray(C3, value("精度检测状态全部通过分段列表", 1)) > 0, IF( accuracyStatus = 2, inarray(C3, value("精度检测状态部分通过分段列表", 1)) > 0, inarray(C3, value("精度检测状态未检测分段列表", 1)) > 0 ) ) ) 我这个是在B3 列使用公式 校验 C3 进行数据过滤 这种写法报错,是我写的有问题吗
    2024-10-22 09:32 
  • 2关注人数
  • 202浏览人数
  • 最后回答于:2024-10-21 11:50
    请选择关闭问题的原因
    确定 取消
    返回顶部