1. 概述
1.1 预期效果随机生成某个整数区间内的一个数,如下图所示: 注:支持正整数和负整数,不支持小数。 1.2 实现思路添加数字控件限制区间的最小值和最大值,按钮控件添加 JS 点击事件生成随机数。 2. 示例
2.1 报表设计1)按照下面表格中的说明设计报表: 单元格 | 操作 | B4 | 写入文本信息:最小值:,微软雅黑,12号字体,背景色号:#FDF5E6 | C4 | 添加数字控件,控件名称为:min,校验不允许为空、不允许小数,微软雅黑,11号字体,白色背景,边框色号:#A57861 | F4 | 写入文本信息:最大值:,微软雅黑,12号字体,背景色号:#FDF5E6 | G4 | 添加数字控件,控件名称:max,校验不允许为空、不允许小数,微软雅黑,11号字体,白色背景,边框色号:#A57861 | E7 | 添加按钮控件,控件名称:R,按钮名字:开始,背景色号:#FDF5E6 | B10 | 写入文本信息:随机数:,微软雅黑,12号字体,背景色号:#FDF5E6 | C10 | 内容为空,白色背景,边框色号:#A57861 |
最终报表样式如下图所示:
2)选中 E7 单元格的按钮控件,添加一个点击事件,如下图所示: JS 代码如下: - if(FR.R===undefined)FR.R = false; //状态位
- var max=contentPane.getWidgetByName("max").getValue();
- var min=contentPane.getWidgetByName("min").getValue();
- var num=$("tr#r-9-0","div.content-container").children().eq(2);
- var btn=_g().getWidgetByName('R');
- a();
- function count(){
- num.html(parseInt(Math.random()*(max-min+1)+min),10);
- }
- function a(){
- if (true==FR.R){
- clearInterval(FR.timerID);
- btn.setText("开始");
- FR.R = false;
- }else if(false==FR.R){
- FR.timerID=setInterval(count,10);
- btn.setText("暂停");
- FR.R = true;
- }
- }
澶嶅埗浠g爜 2.2 效果预览保存报表,点击填报预览,效果如 1.1预期效果 中所示。
注:不支持移动端。 3. 模板下载已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\LineForm\JS实现生成随机数.cpt 点击下载模板:JS实现生成随机数.cpt
编辑于 2020-12-8 13:50
|