FineReport表格软件-CSS动态切换年月日查询报表

news2024/11/16 12:05:15

1. 概述

 1.1 版本

报表服务器版本

功能变更

11.0

--

1.1 预期效果

由于业务的需要,很多情况下需要当满足某个条件时,某些查询条件才显示出来,如下图所示:

1.2 实现思路

由于业务的需要,很多情况下需要当满足某个条件时,某些查询条件才显示出来通过 JS 来控制的 visible()、invisible() 属性来控制控件的可见与不可见:

var Widget = form.getWidgetByName("[ParaName]"); //通过控件名获取控件,其中ParaName为控件名

Widget.setVisible(true);//设置该控件可见

Widget.setVisible(false);//设置该控件不可见

2. 示例

 2.1 模板准备

1)在 FineReport 设计器中点击「文件>新建决策报表」,新建模板数据集 ds1,SQL 语句为:

SELECT * FROM 订单 where 1=1 ${if(type=="日报"," and date(订购日期)='"+ date +"'", 

if(type=="月报"," and strftime('%m',订单.订购日期)='"+ month+"'"+" and strftime('%Y',订单.

订购日期)='"+ year+"'"," and strftime('%Y',订单.订购日期)='"+ year+"'"))}

2)拖入报表块,表格设计如下图所示:

2.2 添加控件

拖入参数界面,进入参数面板,添加四个标签控件、三个下拉框控件、一个日期控件、一个查询控件,如下图所示:

2.3 控件设置

2.3.1 标签控件设置

选中「标签控件」,控件值分别为:报表类型:、年份:、月份:、日期:。控件名称分别为:Labeltype、Labelyear、Labelmonth、Labeldate 。除控件 Labeltype  外均不勾选「可见」按钮。如下图所示:

2.3.2 下拉框控件设置

1)从左到右选中第一个下拉框控件,控件名称为「type」,数据字典类型设置为「自定义」,实际值和显示值相同,分别为日报,月报,年报。如下图所示:

2)从左到右选中第二个下拉框控件,控件名称为「year」,不勾选「可见」按钮,数据字典类型设置为「自定义」,实际值和显示值相同,分别为 2010、2011。如下图所示:

3)从左到右选中第三个下拉框控件,控件名称为「month」,不勾选「可见」按钮,数据字典类型设置为「自定义」,显示值和实际值为:01 ~ 12 。如下图所示:

2.3.3 日期控件设置

选中日期控件,控件名称为「date」,不勾选「可见」按钮,控件值为「2010/01/03」,如下图所示:

2.4 添加编辑后事件

选中控件名称为 type 的下拉框控件,为其添加编辑后事件。如下图所示:

JavaScript 代码如下所示:

var form = this.options.form;

var p2Widget = form.getWidgetByName("date"); //在此可修改成要控制的控件名

var p3Widget = form.getWidgetByName("year");

var p4Widget = form.getWidgetByName("month");

var p5Widget = form.getWidgetByName("labelyear");

var p6Widget = form.getWidgetByName("labelmonth");

var p7Widget = form.getWidgetByName("labeldate");

var value = this.getValue(); //获取当前参数即type参数的值

//判断当前控件的值,根据判断结果显示或隐藏其他控件

if (value == "日报") {

       p2Widget.setVisible(true);

       p7Widget.setVisible(true);

       p3Widget.setVisible(false);

       p4Widget.setVisible(false);

       p5Widget.setVisible(false);

       p6Widget.setVisible(false);

} else if (value == "月报") {

       p2Widget.setVisible(false);

       p7Widget.setVisible(false);

       p3Widget.setVisible(true);

       p4Widget.setVisible(true);

       p6Widget.setVisible(true);

       p5Widget.setVisible(true);

} else if (value == "年报") {

       p2Widget.setVisible(false);

       p3Widget.setVisible(true);

       p5Widget.setVisible(true);

       p4Widget.setVisible(false);

       p6Widget.setVisible(false);

       p7Widget.setVisible(false);

} else {

       p2Widget.setVisible(false);

       p3Widget.setVisible(false);

       p4Widget.setVisible(false);

       p5Widget.setVisible(false);

       p6Widget.setVisible(false);

       p7Widget.setVisible(false);

}

显示代码

2.5 效果查看

2.5.1 PC 端

PC 端效果如本文 1.1 节预期效果所示。

2.5.2 移动端

不支持移动端。

总结

帆软FineReport由于业务的需要,很多情况下 帆软报表软件需要当满足某个条件时,可视化图表制作某些查询条件才显示出来通过 JS 来控制的 visible()、invisible() 属性来控制控件的可见与不可见。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/113860.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Flask]环境配置和项目框架的构建

一、配置flask 在Python环境下使用控制台的pip install命令进行安装 pip install Flask2.1.0 !!!安装版本必须是2.x以上,否则可能出现错误:cannot import name escape from jinja2 (flask 2.x放弃了对jinj…

CloudCompare 的简单的使用说明

File open:打开 save:保存 Global Shift settings:设置最大绝对坐标,最大实体对角线 Primitive Factory:对点云进行原始加工,改变原始点云的形状 3D mouse:对3D鼠标(如3Dconnexion&a…

二叉树的绘制

目录 一、知乎方法 二、动手实践 DOT 语言 无向图 有向图 绘制二叉树 设置属性 如何绘制优美的二叉树 一、知乎方法 知乎上的大佬提供了一系列画图的方法,感兴趣的朋友可以自行去看看 用 Graphviz 绘制一棵漂亮的二叉树 - 南浦月 二叉搜索树&#xff0c…

庖丁解牛式讲解并发编程,GitHub高星最新开源阿里Java进阶必备手册

最近看到粉丝群里讨论最多的问题是现在Java这么卷,担心年龄大了以后会被裁员或者清退,要怎么做才能保住自己的“饭碗”。楼主认为不论是阅读优秀源码、领略设计思路,还是学习优秀架构、代码设计等等,都是加薪升职的正确路径&#…

安全分析开发环境 技术背景

安全分析开发环境一键部署 Gartner 报告中指出 [7],Platfor m Ops for AI 是一种编排和扩展运营人工智能的方法,利用跨数据、机器学习、人工智能和应用程序 开发管道的多种最佳实践,为基于人工智能的系统创建一个高效的交付模型。Platform O…

RV1126笔记十七:吸烟行为检测及部署<四>

若该文为原创文章,转载请注明原文出处。 转换成onnx模型(windows) 一、查看pt文件 准备好训练好的pt文件,可以用Netron打开看看大概长啥样: 二、模型转换 主要的目的是想把训练好的pt文件转成onnx模型,为后面RV1126的部署做铺垫。 我们是在py38的con…

ChatGPT怎么突然变得这么强?华人博士万字长文深度拆解GPT-3.5能力起源

文章目录一、2020 版初代 GPT-3 与大规模预训练二、从 2020 版 GPT-3 到 2022 版 ChatGPT三、Code-Davinci-002和 Text-Davinci-002,在代码上训练,在指令上微调四、text-davinci-003 和 ChatGPT,基于人类反馈的强化学习的威力五、总结当前阶段…

SAP MM SPED输出报错-No authorization for delivery from shipping point US##-之对策

SAP MM SPED输出报错-No authorization for delivery from shipping point US##-之对策 前日收到某客户业务人员上报的一个问题,说是发现某个公司间STO单据的外向交货单里SPED 这个output不成功,不能成功触发inbound delivery单据。 相关报错信息如下&am…

项目实战之旅游网(四)后台角色管理(上)

目录 一.角色列表 二.新增角色 三.修改角色 四.删除角色 一.角色列表 接下来我们编写角色管理功能&#xff0c;首先查询角色列表: 1.编写RoleService Service public class RoleService {Autowiredprivate RoleMapper roleMapper;public Page<Role> findPage(int …

【无线通信】鲸鱼优化算法及其在无线网络资源分配中的应用(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

腾讯云Linux 轻量应用服务器如何搭建 FTP 服务?

Vsftpd&#xff08;very secure FTP daemon&#xff09;是众多 Linux 发行版中默认的 FTP 服务器。本文以 CentOS 7.6 64位操作系统的轻量应用服务器为例&#xff0c;使用 vsftpd 软件搭建 Linux 轻量应用服务器的 FTP 服务。 本文搭建 FTP 服务组成版本如下&#xff1a; Lin…

node.js+uni计算机毕设项目基于微信点餐系统小程序(程序+小程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分离等…

Allegro如何设置格点操作指导

Allegro如何设置格点操作指导 在PCB设计的时候,格点是一个很好用的工具,Allegro可以设置格点 具体操作如下 选择Setup-GirdsNon-Etch和All Etch中的X和Y都输入5,代表都是5的格点

CTF-MISC(入门|笔记|工具)

文章目录音频隐写直接隐写频谱隐写流量分析第一种流量包修复第二种是协议分析第三种数据提取图片分析zstegBMPPNGforemost 工具binwalksteghidestegslovetweakpngJPGF5-steganographystegdetect压缩包分析zip伪加密crc32zip包明文攻击其它条形码扫描pyc反编译数据转换到ASCII乱…

2022年安徽建筑施工电工(建筑特种作业)模拟试题及答案

百分百题库提供特种工&#xff08;电工&#xff09;考试试题、特种工&#xff08;电工&#xff09;考试真题、特种工&#xff08;电工&#xff09;证考试题库等,提供在线做题刷题&#xff0c;在线模拟考试&#xff0c;助你考试轻松过关。 149.使⽤绝缘操作杆时&#xff0c;下列…

NTZ改机原理全公开(二)-- 实现篇

最核心的逻辑就是代码hook了,找这些hook点可不是一件容易的事情,但是借鉴这个事情就容易得多。这批文章就将这些hook列出来,帮大家节省时间。 主要的hook点为: 音频build属性连接上下文文件访问位置信息其他包管理传感器设置磁盘信息系统时钟系统属性电话相关wifi信息wifi…

uniapp微信小程序 引入腾讯视频插件

参考&#xff1a;微信小程序&#xff08;或uniapp&#xff09;引入腾讯视频插件播放视频_苏苏哇哈哈的博客-CSDN博客_微信小程序播放腾讯视频1.在manifest.json里面 "plugins": { "tencentvideo": { …

计算机图形学 着色(shader) 学习笔记

画家算法&#xff1a;从远到近的光栅化&#xff0c;近的物体的着色覆盖远的物体的着色&#xff0c;近的物体的RGB优先 实际计算机图形学使用的是Z-Buffer深度缓冲 先看地板&#xff0c;地板要渲染的像素先放进二位数组内&#xff0c;接下来要看正方体&#xff0c;正方体与之前…

前端路由应该理解的一些前置知识

1. URI和URL 与URI相比,我们更熟悉URL。URL正是使用web浏览器等访问web页面时需要输入的网页地址。比如我们经常输入的 https://www.baidu.com/ 就是 URL 1.1 统一资源标识符 URI是 Uniform Resource Identifier 的缩写。RFC2396分别对这三个单词进行了以下定义: Uniform …

Spring的基础用法

前言 上面的目录内容本文章不一定都会写到&#xff0c;本次的文章将非常简略&#xff0c;主写主要内容&#xff0c;次要内容需要读者有一定的学习基础才可以看懂以及掌握&#xff0c;本文章比较偏向于理论复习&#xff0c;注意是理论&#xff0c;本文章代码不多&#xff0c;代…