当我们使用报表
工具来设计
报告时,当我们使用
参数控制时,有时我们希望一些参数控件在没有达到要求时不会出现,然后在满足需求后
显示出来,然后我会教你怎么做。
表软件如何控制参数控件是否基于
条件显示
一:对问题的描述
当我们使用参数控制时,有时我们希望一些参数控制在不满足要求时不会显示出来。在满足条件之后,我们再次显示它们,如下图:只有在前面下拉的内容被选中后,下拉框的后一层才会显示出来。
二:
解决方案
首先,控制部分初始化为不可见或不可用。然后将
编辑结束事件添加到条件控件中,并且通过js
脚本可见控件。相应的JS
方法如下所示:
setenable(布尔):如果
设置可用,真是可用的,和假不可用;
show(布尔):如果设置是可见的,真是可见的,而假是不可见的;
实例三:
打开模板% fr_home % webreport WEB-INF reportlets mutivalue.cpt参数
文件 我们将此模板中的
区域作为条件控件,并将其作为一个受控制的控件来演示设置过程。
四:初始化控件控件不可见。
单击省控件,选择属性表>选择可见的基本
属性,如下所示:
五:条件控制的事件设置
将一个已编辑的事件添加到区域控件中,并调用js方法将该省控件设置为可见的,具体代码如下所示:
选择参数区域的下拉框控件,选择属性表的事件
面板,并添加一个编辑结束事件,如下所示:
图中的代码是:
代码是:
瓦尔河省= this.options.form.getwidgetbyname(省);var面积= this.options.form.getwidgetbyname(地区);
无功thislen = this.getvalue长度(面积);
如果(thislen)province.setvisible(真的);
其他警报(请选择区域);
日期控制
检查JS
第一:概述
内置的
查询接口参数可以用于一些数据验证,比如有两个参数:开始日期和结束日期,我们将检查开始日期和结束日期不能为空,结束日期必须晚于开始日期和结束日期必须在开始日期时间之后,否则
提示相关的信息,这可以增加查询按钮事件,
介绍了具体的设置。
具体结果如下:
步骤阅读
故障报警的特殊误差效应。
二:打开模板
打开模板:% fr_home % webreport WEB-INF reportlets 尺度参数文件 timescale.cpt。
如下图所示的
界面:
三:增加事件
将单击事件添加到查询按钮,具体的js代码如下所示:
VaR的开始= this.options.form.getwidgetbyname(开始时间)的GetValue();
var = this.options.form.getwidgetbyname(结束时间)的GetValue();
如果(开始= =开始= = null| |){ / /审判的开始日期是空的
警报(
错误,开始时间不能为空);开始日期参数为空
返回false;
};
如果(= == = null| |){ / /法官结束日期是空的
警报(错误,结束时间不能为空);结束日期参数为空
返回false;
};
如果(开始>结束){判决开始日期大于结束日期
警报(错误,开始时间不大于时间的结尾);
启动日期大于提示时的结束日期
返回false;
}
VaR StartDate =新的日期(开始); / /将开始日期的日期
VaR EndDate =新的日期(结束); / /结束日期为日期
var = subdate(结束日期日期)(1000 * 60 / * 60 * 24); / /两毫秒日期减到天
如果(subdate > 15){ / /法官结束日期为开始日期后超过15天
警报(错误,结束日期必须在开始日期后15天内);提示结束日期在日期开始后十五天以上。
返回false;
}
注意:虽然还可以设置参数检查,但是在单击控件后可以检查参数控制,因此参数接口不能为空,并且需要在查询按钮中设置奇偶校验。
四:效果观
分页预览模板,选择开始时间和结束时间,使两个日期之间的差异超过15天,将弹出上面的对话框。
注:以上JS代码在Firefox没有问题,谷歌IE9和其他
浏览器。但在IE8和IE浏览器版本低于IE8,它不是有效的判断两个日期之间的差异。下面的代码可以使用:
VaR的开始= this.options.form.getwidgetbyname(开始时间)的GetValue();
var = this.options.form.getwidgetbyname(结束时间)的GetValue();
如果(开始= =开始= = null| |){ / /审判的开始日期是空的
警报(错误,开始时间不能为空);开始日期参数为空
返回false;
};
如果(= == = null| |){ / /法官结束日期是空的
警报(错误,结束时间不能为空);结束日期参数为空
返回false;
};
如果(开始>结束){判决开始日期大于结束日期
警报(错误,开始时间不大于时间的结尾);启动日期大于提示时的结束日期
返回false;
}
VaR日期= start.split()
var =新日期(日期{ 1 } +日期+日期{ 2 } + +日期{ 0 }) / /
转换为日期格式
警报(日期);
VaR日期= end.split()
var =新结束日期(日期{ 1 } +日期+日期+ - +约会{ 2 } { 0 })
Alert (enddate);
Var(subdate =(结束日期-日期) / 1000 / 60 / 60 / 24) / /转换的毫秒数天
警报(subdate);
如果(subdate > 15){ / /法官结束日期为开始日期后超过15天
警报(错误,结束日期必须在开始日期后15天内);提示结束日期在日期开始后十五天以上。
返回false;
}
排空(复位)状态
一:对问题的描述
在使用控件时,有时我们希望能够快速重置控件的内容,或者重置所有控件的内容,如下图所示:
二:解决方案
当控件的值只被重置时,我们可以得到需要在js事件中重置的控件,
执行重置()方法,从而使控件的内容清空。
当我们需要将所有的控制,我们可以在参数界面通过form.name_widgets所有控件,然后遍历每个控制和重置。
美元。每个(this.options.form.name_widgets,
功能(我的项目){
如果(item.options.type!= = 'label){ item.setvalue item.settext();();}
});;
三:重置单个控件内容的按钮。
上图中清晰的供应商按钮演示了如何重置单个控件的内容。
在参数设计
网页,
创建一个按钮控件,设置名称为空的供应商,并设置按钮单击事件没有供应商的内容()控制。具体JS如下所示:
= this.options.form.getwidgetbyname VaR();/ /访问控制
SupplierID.reset(); / /将空控制的内容
四:重置所有控件内容
在参数接口上创建一个新的按钮控件,将其名称设置为空,并设置按钮单击事件,事件js脚本是:
美元。每个(this.options.form.name_widgets,功能(我的项目){
如果(item.options.type!= = 'label){ item.setvalue item.settext();();}
});;
一个三角按钮,将界面上下隐藏。
一:对问题的描述
当我们用参数面板预览模板时,我们会看到参数接口和主体接口之间有一个三角形按钮。那我们怎么隐藏这个按钮呢
二:解决方案
在模板结束后,获取按钮元素,然后将其设置为隐藏,或者直接
删除。
隐藏按钮
$('参数容器collapseimg)隐藏();
删除按钮
$('参数容器collapseimg)删除();
实例三:
我们把gettingstarted.cpt模板为例,和想要隐藏的参数接口的三角按钮时显示的模板。
打开设计器,
双击模板,切换到参数面板编辑界面,单击参数面板的空白,选择参数面板,并添加初始化事件。
四:js代码如下所示:
setTimeout(){()
函数(
$('参数容器collapseimg)隐藏();
},10);
五:效果观
保存模板,单击预览,您可以看到不再显示的三角形按钮,如下所示:
参数控制分配
第一:概述
在参数接口中,我们
经常需要动态地控制控件中的其他控件值。如下图所示,当
用户名有一个值时,状态自动更改为1,否则为2:。
二:解决方案
您可以通过js脚本获得所需的控件,以获得控件的值,并将值赋给控件。
注意:控件的数量不能以JS为0,而false不能为0。一个控件不能设置另一控件的显示值的数目。
三:参数接口
如下图的界面
用户名的控制
类型是一个下拉框,数据定制,实际值与显示值
都是:jerny、安娜、快乐。
状态控制类型选择select按钮组,数据也是自定义的,实际值和显示值均为:1, 2。
四:js事件设置
将后编辑事件添加到用户名的事件编辑器中,js代码如下所示:
无功状态= this.options.form.getwidgetbyname(状态);
VaR的用户名= this.options.form.getwidgetbyname(用户名)。GetValue();
如果(!用户名){
(2)state.setvalue;
其他{ }
(1)state.setvalue;
}
该代码用于设置状态参数的个数。当用户名为空时,用户名为真。此时,状态号为2,否则,当用户名有值时,状态数将为1。