我给控件添加了js,让控件里没值时控件就隐藏,还给单元格添加了给控件传参的,但预览时控件一直不显示了

点击下方报表块里的单元格,就会给上方控件传参,我已经给单元格添加超链js实现了,_g().getWidgetByName("canshu").setValue("一"); 

image.png

但是控件里没值的时候,我也是用js实现的,是给控件添加初始化事件

代码如下

//var province = this.options.form.getWidgetByName("n1");//获取下拉框控件n1

var area = this.options.form.getWidgetByName("canshu");//获取下拉框控件n2

var thislen = this.getValue().length;//取控件中值的长度

//如果n2控件值有长度,设置n2控件可见,如果无长度设置为不可见

if(thislen) {

    area.setVisible(true);

    this.options.form.getWidgetByName("canshu").setVisible(true);

} else {    

    area.setVisible(false);

    this.options.form.getWidgetByName("canshu").setVisible(false);

}

但是这样的话,预览时,控件一直不显示,点击单元格也不显示,应该咋办啊

js参数下拉框控件.zip

FineReport HmjijsbZ 发布于 2024-5-11 11:59
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
用户k6280494Lv6资深互助
发布于2024-5-11 12:00
最佳回答
0
华莉星宸Lv7资深互助
发布于2024-5-11 12:14

显示控件直接写到点击单元格的参数里面

 

_g().getWidgetByName("canshu").setValue("一");

//var province = this.options.form.getWidgetByName("n1");//获取下拉框控件n1

var area = _g().getWidgetByName("canshu"); //获取下拉框控件n2

area.setVisible(true);

//_g().getWidgetByName("canshu").setVisible(true);

image.png

  • HmjijsbZ HmjijsbZ(提问者) 大佬,但是这样的话,如果没有值的话,怎么让控件隐藏呢?
    2024-05-11 13:46 
  • 华莉星宸 华莉星宸 回复 HmjijsbZ(提问者) 你点击的这三个的时候,肯定都是有值的,因为你赋值了,默认是隐藏的
    2024-05-11 14:02 
最佳回答
0
小白511Lv6初级互助
发布于2024-5-11 12:42(编辑于 2024-5-11 12:43)
最佳回答
0
苏菲的供词Lv6中级互助
发布于2024-5-11 14:49(编辑于 2024-5-11 14:49)

控件里设置初始化,如果没有值就隐藏

单元格里设置给控件赋值,然后根据赋予的值的长度判断,大于零显示控件否则隐藏

  • 5关注人数
  • 207浏览人数
  • 最后回答于:2024-5-11 14:49
    请选择关闭问题的原因
    确定 取消
    返回顶部