填报单元格,怎么用JS代码实现,填报单元格后匹配自定义值。(必须要用JS代码)JS代码写CASE

填报单元格,怎么用JS代码实现,填报单元格后匹配自定义值。(必须要用JS代码)JS代码写CASE

例如:当性别填了男以后,填报字段自动生成0

当性别填了女以后,填报字段自动生成0

image.png

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

使用公式好了,在这个控件,编辑后事件,写下面的js就可以

var cell = contentPane.curLGP.getTDCell(0,0); //获取焦点所在的单元格对象,getTDCell(0,0)即 A1 单元格

contentPane.curLGP.selectTDCell(cell);   //选择单元格

=============

给后面单元格赋值

var cell = contentPane.curLGP.getTDCell(0,0); //获取焦点所在的单元格对象,getTDCell(0,0)即 A1 单元格

contentPane.curLGP.selectTDCell(cell);   //选择单元格

var a = this.getValue();

var location = this.options.location;  //获取当前控件的位置

var cr = FR.cellStr2ColumnRow(location);

var col = cr.col;  //列号

var ro = cr.row;  //行号

if(a=="男")

{contentPane.setCellValue(0,col+1,ro,"1");}

else if(a=="女")

{contentPane.setCellValue(0,col+1,ro,"0");}

else 

{contentPane.setCellValue(0,col+1,ro,"");}

======

模板

WorkBook1123.rar

  • 帆软用户NtsYvtQ2xJ 帆软用户NtsYvtQ2xJ(提问者) 大佬能不能帮忙弄个文件我看看啊,JS代码我不怎么会
    2024-02-23 13:32 
  • snrtuemc snrtuemc 回复 帆软用户NtsYvtQ2xJ(提问者) 就是直接写公式,js代码,直接拷贝我的js代码,放到你性别下拉框控件的编辑后事件
    2024-02-23 13:34 
  • snrtuemc snrtuemc 回复 帆软用户NtsYvtQ2xJ(提问者) 如果完全js,参考修改答案
    2024-02-23 13:46 
最佳回答
0
CovidLv3高级互助
发布于2024-2-23 13:26

用单元格公式不是更方便么?

IF(A2=="男",0,IF(A2=="女",1,""))

  • 帆软用户NtsYvtQ2xJ 帆软用户NtsYvtQ2xJ(提问者) 我要用JS代码写, 用公式有个缺点,填报完必须鼠标点到其他单元格,填报字段才会更新。 而JS代码可以实时更新
    2024-02-23 13:28 
  • Covid Covid 回复 帆软用户NtsYvtQ2xJ(提问者) JS还是要在编辑结束或编辑后触发;只有后者才可以在焦点不移开当前控件时触发,但只要你有编辑动作都会触发。其实你这个可以直接用下拉控件设置好字典就行了(实际值是0,1;显示值是男;女),填报入库用的是实际值
    2024-02-23 13:31 
  • 1关注人数
  • 258浏览人数
  • 最后回答于:2024-2-23 13:56
    请选择关闭问题的原因
    确定 取消
    返回顶部