初始化预览,下拉复选框的默认值不可见

我现在报表中有两个sheet,每个sheet对应不同的控件

在设计器将sheet2对应的控件设置为可用但不可见。初始化显示sheet1的控件,隐藏sheet2的控件。

通过“模板web端预览”设置“填报预览的加载结束事件”的js脚本。达到通过点击sheet2显示sheet2的控件,隐藏sheet1的控件、sheet1 同理,只是初始化显示的sheet1的控件。

问题来了——————

预览初始化结束以后,由于sheet2控件在设计器中设置的是“不可见”,点击sheet2时,显示的默认值对应的数据,这个没问题,问题在于此时复选框控件中没有显示默认值,并且需要点击进入复选框,勾选至少1项出去默认值以外的其他值,显示框中才会显示出控件的值

这个问题该怎么解决呢

demo:

隐藏控件值无法显示  .cpt

FineReport Leou 发布于 2021-9-23 15:55 (编辑于 2021-9-28 15:11)
1min目标场景问卷 立即参与
回答问题
悬赏:10 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
ColdmanLv6高级互助
发布于2021-9-28 14:50(编辑于 2021-9-28 14:50)

$(".fr-sheetbutton-container").click(function() //切换sheet时

    {

        var a = contentPane.$contentPane.data('TabPane').tabBtns[contentPane.selectedIndex].options.name; //获取当前sheet的名字

 

 

    if (a == "sheet1") {

                contentPane.parameterEl.getWidgetByName("s1").setVisible(true);

                contentPane.parameterEl.getWidgetByName("k1").setVisible(true);

                contentPane.parameterEl.getWidgetByName("s2").setVisible(false);

                contentPane.parameterEl.getWidgetByName("k2").setVisible(false);

            }else if(a == "sheet2"){

                contentPane.parameterEl.getWidgetByName("s1").setVisible(false);

                contentPane.parameterEl.getWidgetByName("k1").setVisible(false);

                contentPane.parameterEl.getWidgetByName("s2").setVisible(true);

                contentPane.parameterEl.getWidgetByName("k2").setVisible(true);

                contentPane.parameterEl.getWidgetByName("k2").setValue('男');

                }  

    });

看最后一句,切换页面的时候,通过页面给控件赋你的默认值

image.png

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