两个复选框联动问题

如图,列1列2都是复选框,对应的数据字典都是内置数据集report,列1对应rm_report字段,列2对应frpagename字段,想要的效果是选择列1(多选),列2自动填充,效果类似于第二张图

image.pngimage.png

FineReport dream111 发布于 2023-3-30 11:30 (编辑于 2023-3-30 14:10)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
MaxizzzLv4见习互助
发布于2023-3-30 11:43(编辑于 2023-3-30 15:57)

B2多选框控件添加编辑结束事件:

var m = this.getValue();  //获取多选框所选择的值

function arrIndex(arr, n) {

  var a = [];

  for (var index = 0; index < arr.length; index++) {

    if (arr[index] == n) {

      a.push(index);

    }

  }

  if (a.length == 0) {

    return -1;

  } else {

    return a;

  }  //获取数组中指定元素的位置的function

}

var z=[];//定义一个空数组

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

var x=arrIndex(b, m[i]);  //b为A列的值存放单元格构成的数组

var y=c[x];  //c为B列的值存放的单元格

 z.push(y) }  //将结果存放在z这个空数组中

 _g().setCellValue("C2",z); //给指定单元格赋匹配结果值

  • dream111 dream111(提问者) 这样不行,B2是多选
    2023-03-30 13:15 
  • Maxizzz Maxizzz 回复 dream111(提问者) 已更新回答,亲测可行
    2023-03-30 16:04 
  • dream111 dream111(提问者) 回复 Maxizzz 请问b和c怎么来的呢?
    2023-03-31 13:08 
  • Maxizzz Maxizzz 回复 dream111(提问者) 在报表最左边随便两个单元格,将数据拖到那里,不设置扩展,这样你就得到了两个存放两个字段的单元格,如X1,Y1,那么在添加上述JS语句时,右上角添加参数b,c,值设置为公式,公式内容分别为X1,Y1
    2023-03-31 13:30 
  • dream111 dream111(提问者) 回复 Maxizzz 谢谢
    2023-03-31 13:55 
最佳回答
0
用户6NWif5139660Lv6资深互助
发布于2023-3-30 11:33
  • dream111 dream111(提问者) 这个是多选,不得行
    2023-03-30 13:16 
  • 用户6NWif5139660 用户6NWif5139660 回复 dream111(提问者) 你要多选向下扩展吗
    2023-03-30 13:56 
  • dream111 dream111(提问者) 回复 用户6NWif5139660 不是,列1是多选框,进行多选操作,列2自动填充。(效果类似于第二张图片,刚完善了下问题) 如果是数据表的话还可以用sql()函数,但是自定义数据集用select、value函数都不行,这两个函数好像没得in这种操作
    2023-03-30 14:10 
最佳回答
0
苏菲的供词Lv6中级互助
发布于2023-3-30 16:02
最佳回答
0
PikaLv6见习互助
发布于2023-3-30 16:06

写两个数据集,第二个数据集根据第一个复选框的值筛选

  • 5关注人数
  • 481浏览人数
  • 最后回答于:2023-3-30 16:06
    请选择关闭问题的原因
    确定 取消
    返回顶部