我的控件A的值是24K,还是跳转到报表2 是怎么回事

var widget = _g().getParameterContainer().getWidgetByName("控件A");

widget.getValue()

var reportPath = "";

//根据A控件值选择不同报表

if(widget == "24K") {

reportPath = "ledteenreport/报表1.cpt&op=view";

} else if(widget != "24K") {

reportPath = "ledteenreport/报表2.cpt&op=view";

}

//FR.Msg.alert("调试", "基板代码值:" + widget.getValue());

FR.doHyperlinkByPost("${servletURL}?viewlet=" + reportPath);

FineReport Ccc 发布于 2025-6-19 09:04 (编辑于 2025-6-19 13:41)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
华莉星宸Lv7资深互助
发布于2025-6-19 09:06

直接A控件编辑后  跳转就行了啊

var aa=this.getValue();

if(aa="a"){

window.open(url1);

}

else 

{

window.open(url2);

}

  • Ccc Ccc(提问者) 我那个不是下拉框 是根据订单号直接判定的数据 文本框的参数来的
    2025-06-19 10:07 
  • 华莉星宸 华莉星宸 回复 Ccc(提问者) 思路是这样,具体就要看你是什么设计了
    2025-06-19 10:09 
  • Ccc Ccc(提问者) 回复 华莉星宸 url1的值是放怎么样的 能麻烦给个示例吗
    2025-06-19 10:41 
  • 华莉星宸 华莉星宸 回复 Ccc(提问者) var widget = _g().getParameterContainer().getWidgetByName("控件A");
    var aa = widget.getValue();
    var reportPath = "";
    //根据A控件值选择不同报表
    if(aa == "24K") {
    reportPath = "ledteenreport/报表1.cpt&op=view";
    } else if(aa != "24K") {
    reportPath = "ledteenreport/报表2.cpt&op=view";
    }
    //FR.Msg.alert("调试", "基板代码值:" + widget.getValue());
    FR.doHyperlinkByPost("${servletURL}?viewlet=" + reportPath);
    2025-06-19 13:55 
最佳回答
0
技术支持--哈哈Lv4初级互助
发布于2025-6-19 09:06
实现方案
  1. 基础原理在按钮控件中添加JS事件,通过判断A控件的值动态拼接不同报表的URL路径。

  2. 示例代码假设A控件为下拉框(控件名dropdownA),B控件为按钮(控件名buttonB):


    var aValue = _g().getWidgetByName("dropdownA").getValue(); //获取A控件值

    var reportPath = "";



    //根据A控件值选择不同报表

    if(aValue == "value1") {

    reportPath = "report1.cpt";

    } else if(aValue == "value2") {

    reportPath = "report2.cpt";

    }



    //跳转逻辑(需先安装「平台内打开新标签页插件」)

    FR.doHyperlinkByPost("${servletURL}?viewlet=" + reportPath + "&__showtoolbar__=false");
关键配置步骤
  1. 控件设置

    • A控件需绑定数据字典(如:下拉框/单选按钮组)

    • B控件需设置为按钮控件并添加点击事件

  2. URL拼接注意

    • 普通报表需添加&__showtoolbar__=false参数

    • 使用encodeURI对中文路径双重编码(示例见下图)2.png

扩展应用
  • 如需传递多个参数,可使用对象结构:

    FR.doHyperlinkByPost(url, {param1:value1, param2:value2}, 'REPORT');
  • 决策报表中可通过gotoPage方法实现报表块跳转

注意事项
  1. 如果工程未安装新标签页插件,跳转会在新窗口打开

  2. 视图树控件的返回值是数组类型,需特殊处理

  3. 高频跳转场景建议使用changeParameter接口优化性能

最佳回答
0
用户k6280494Lv6专家互助
发布于2025-6-19 09:06(编辑于 2025-6-19 09:06)
  • 4关注人数
  • 52浏览人数
  • 最后回答于:2025-6-19 13:41
    请选择关闭问题的原因
    确定 取消
    返回顶部