编辑前获取控件的值,希望在编辑之后进行使用,一直出现错误。

文本控件名:changebsn

定义编辑前事件:var Cbsn = contentPane.getWidgetByName("changebsn");

定义编辑后事件:var Bbsn = contentPane.getWidgetByName("changebsn");

定义编辑结束事件:if(Cbsn=='H' && Bbsn=='S'){

changebsn.setValue('S')};

在编辑结束事件中,一直出现CustomJSError : Can't find variable: Cbsn的错误,请教各位大神,如何修改上述定义?

FineReport K2WaZcYa 发布于 2023-9-28 10:46
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
shirokoLv6资深互助
发布于2023-9-28 11:01(编辑于 2023-9-28 11:02)

两个js不在一个作用域,变量不通用。

可以绑定到window下或者FR下

---

定义编辑前事件:FR.Cbsn = contentPane.getWidgetByName("changebsn");

定义编辑后事件:FR.Bbsn = contentPane.getWidgetByName("changebsn");

定义编辑结束事件:

if(FR.Cbsn=='H' && FR.Bbsn=='S'){

contentPane.getWidgetByName("changebsn").setValue('S')};

  • K2WaZcYa K2WaZcYa(提问者) 已经生效,但是出现了一个新的问题,就是只能生效一次,第二行需要控制又失效了。不知是否有哪里没设置好。
    2023-09-29 08:56 
  • shiroko shiroko 回复 K2WaZcYa(提问者) 多行扩展的话控件名相同获取到的都是第一个,难搞,应该换成用坐标获取控件的方法,但是变量也要多个了
    2023-10-01 22:26 
最佳回答
0
用户k6280494Lv6资深互助
发布于2023-9-28 10:47(编辑于 2023-9-28 10:51)

只要一个编辑结束事件

image.png

最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-9-28 10:48(编辑于 2023-9-28 10:51)

编辑后没定义 Cbsn ,这是编辑前的事件定义的 。是两个独立的JS。

你可以在编辑前获取值给一个辅助单元格赋值,再在编辑后获取辅助单元格的值,最后进行比较

---------

https://help.fanruan.com/finereport10.0/doc-view-4007.html 控件接口

https://help.fanruan.com/finereport10.0/doc-view-4008.html 单元格接口

最佳回答
0
snrtuemcLv8专家互助
发布于2023-9-28 10:48

你的js都不在同一个事件,编辑后事件肯定报错,没法通用的

还有获取值的js语句也是

 contentPane.getWidgetByName("changebsn").getValue();

这个写法

  • 3关注人数
  • 212浏览人数
  • 最后回答于:2023-9-28 11:02
    请选择关闭问题的原因
    确定 取消
    返回顶部