求助

参数面板有两个控件 一个报表类型 一个订单号 当报表类型内容为填报时 订单号控件为空,报表类型为查询时,赋值订单号控件1 怎么实现

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

编辑后事件

var a=this.getValue();

if(a=="查询"){

_g().parameterEl.getWidgetByName('参数名').setValue('1');

}

else {

_g().parameterEl.getWidgetByName('参数名').setValue('');

}

  • Ccc Ccc(提问者) 选择查询的时候会赋值 但再次选择填报的时候不会清空控件 是为啥子
    2025-10-10 11:15 
  • 用户k6280494 用户k6280494 回复 Ccc(提问者) 改下判断试试 更新回答了
    2025-10-10 11:17 
  • Ccc Ccc(提问者) 回复 用户k6280494 还是一样欸 好奇怪 但我把控件删除 重新设置又行了
    2025-10-10 11:20 
  • 用户k6280494 用户k6280494 回复 Ccc(提问者) 有bug
    2025-10-10 11:33 
最佳回答
0
华莉星宸Lv7专家互助
发布于2025-10-10 11:14

要实现参数面板中根据「报表类型」控件值动态控制「订单号」控件的值,可通过JavaScript实现控件联动。步骤如下:

  1. 控件重命名

  • 报表类型下拉框控件命名为reportType

  • 订单号控件命名为orderID控件重命名示例

  1. 参数控件事件设置选择reportType控件,添加「编辑后」事件:


var reportType = this.getValue();

var orderID = this.options.form.getWidgetByName("orderID");



if (reportType === "填报") {

orderID.setValue(""); // 置空值

} else if (reportType === "查询") {

orderID.setValue("1"); // 赋值为1

}

事件设置示例

  1. 数据字典联动(可选)如需动态改变订单号数据字典,可参考知识库中的数据字典设置方法1:数据字典设置

注意

  1. 若使用填报模板,建议按照《报表开发规范手册-4794.md》设置主键和填报信息

  2. 部署时涉及服务器修改请与技术支持确认4

  3. 控件名必须与代码中的getWidgetByName("控件名")完全一致

  • Ccc Ccc(提问者) 也是会赋值 但是选择为填报的时候不会清空
    2025-10-10 11:18 
  • 华莉星宸 华莉星宸 回复 Ccc(提问者) 你控件名弄错了么?
    2025-10-10 11:20 
  • Ccc Ccc(提问者) 回复 华莉星宸 没有 就是选择查询会赋值为1 再次选择填报的时候不会清空控件值
    2025-10-10 11:21 
  • 华莉星宸 华莉星宸 回复 Ccc(提问者) 注意名字 大小写要一致
    2025-10-10 11:24 
  • 3关注人数
  • 38浏览人数
  • 最后回答于:2025-10-10 11:17
    请选择关闭问题的原因
    确定 取消
    返回顶部