zoukankan      html  css  js  c++  java
  • 根据条件控制参数控件是否显示(可用)

    1、应用场景

    在用报表工具FineReport设计报表时,使用参数控件时,有时我们希望部分参数控件在没满足条件时不显示,满足条件后再显示,如下图效果:只有前面的下拉框选择了内容之后,后一层下拉框控件才显示出来:


    2、解决方案

    首先将被控制的控件初始化为不可见或者不可用,然后在条件控件上增加编辑结束事件,通过js脚本设置被控制控件可见或可用,对应的js方法如下:

    setEnable(boolean):设置是否可用,true为可用,false为不可用;

    setVisible(boolean):设置是否可见,true为可见,false为不可见;

    3、示例

    打开模板%FR_HOME%WebReportWEB-INF eportletsdocparameter\MultiValueMutiValue.cpt

    我们用这个模板中的area作为条件控件,province作为被控控件来说明设置过程。

    3.1初始化被控控件为不可见

    点击province控件,选择属性表>基本属性可见勾选掉,如下图:


    3.2条件控件的事件设置

    给area控件添加编辑后事件,调用JS方法将province控件设定为可见,具体的代码如下:

    选择参数area的下拉框控件,选择属性表事件面板,增加一个编辑后事件,如下图:


    其中代码为:


    1.     var province=this.options.form.getWidgetByName("province");                                                                                                                                                        var area=this.options.form.getWidgetByName("area");    

    2.     var thislen = this.getValue(area).length;  

    3.     if(thislen) province.setVisible(true);  

    4.     else alert("请选择地区");  


  • 相关阅读:
    luoguP4389 付公主的背包 多项式exp
    bzoj3456 城市规划 多项式求In
    luoguP4491 [HAOI2018]染色 广义容斥原理 + FFT
    计蒜之道2019复赛题解
    Educational Codeforces Round 66 (Rated for Div. 2)
    [CodeChef-ANUDTQ] Dynamic Trees and Queries
    M-SOLUTIONS Programming Contest
    Codeforces Global Round 3
    PKUSC2019题解
    [LOJ#3120][Luogu5401][CTS2019]珍珠(容斥+生成函数)
  • 原文地址:https://www.cnblogs.com/liang123/p/6325080.html
Copyright © 2011-2022 走看看