Java軟件報表軟件技術(shù)博客

          java報表軟件技術(shù)匯總 java報表軟件制作 報表軟件新聞
          posts - 355, comments - 100, trackbacks - 0, articles - 3
             :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

          1、應(yīng)用場景

          在用報表工具FineReport設(shè)計報表時,使用參數(shù)控件時,有時我們希望部分參數(shù)控件在沒滿足條件時不顯示,滿足條件后再顯示,如下圖效果:只有前面的下拉框選擇了內(nèi)容之后,后一層下拉框控件才顯示出來:


          2、解決方案

          首先將被控制的控件初始化為不可見或者不可用,然后在條件控件上增加編輯結(jié)束事件,通過js腳本設(shè)置被控制控件可見或可用,對應(yīng)的js方法如下:

          setEnable(boolean):設(shè)置是否可用,true為可用,false為不可用;

          setVisible(boolean):設(shè)置是否可見,true為可見,false為不可見;

          3、示例

          打開模板%FR_HOME%\WebReport\WEB-INF\reportlets\doc\parameter\\MultiValue\MutiValue.cpt

          我們用這個模板中的area作為條件控件,province作為被控控件來說明設(shè)置過程。

          3.1初始化被控控件為不可見

          點擊province控件,選擇屬性表>基本屬性可見勾選掉,如下圖:


          3.2條件控件的事件設(shè)置

          給area控件添加編輯后事件,調(diào)用JS方法將province控件設(shè)定為可見,具體的代碼如下:

          選擇參數(shù)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("請選擇地區(qū)");  

           

           



          主站蜘蛛池模板: 胶州市| 九寨沟县| 阿拉善右旗| 凌云县| 大关县| 呼玛县| 湄潭县| 呼伦贝尔市| 阿瓦提县| 赣榆县| 祁阳县| 潮安县| 安岳县| 荣昌县| 昆明市| 革吉县| 东兴市| 常德市| 仪征市| 扎鲁特旗| 江城| 吉隆县| 扶风县| 永修县| 东光县| 泰来县| 冕宁县| 柘城县| 乌鲁木齐市| 高清| 长岛县| 宽甸| 如皋市| 晴隆县| 沽源县| 卢湾区| 灵川县| 达孜县| 拉萨市| 威信县| 贵德县|