惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
A
About on SuperTechFans
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
N
Netflix TechBlog - Medium
Microsoft Security Blog
Microsoft Security Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
博客园 - 聂微东
博客园 - Franky
D
Docker
Martin Fowler
Martin Fowler
Engineering at Meta
Engineering at Meta
The Cloudflare Blog
人人都是产品经理
人人都是产品经理
Last Week in AI
Last Week in AI
U
Unit 42
F
Fortinet All Blogs
H
Help Net Security
Blog — PlanetScale
Blog — PlanetScale
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
P
Proofpoint News Feed
月光博客
月光博客
G
Google Developers Blog

博客园 - TwinStudio

Stable Diffusion AI 绘画使用 chartGPT 是什么?如何使用chartGPT? ChatGPT指令大全(建议收藏) Vue3开发教程(一、学习Vue前需要了解的内容) mysql用mysqldump命令进行数据库备份与迁移 领导更喜欢的日报,长这样 Vue3快速上手,Vue3全解 MySQL优化常用的19种有效方法(推荐!) idea常用快捷键大全 MySQL的优化多种方法(至少15条) Cisco Systems VPN Client 显示不出 主界面 怎么点都打不开。我重装过了。又重新安装了。也没用 360也把他添加白名单 也显示不出= = - TwinStudio PL/SQL 工具中 TIMESTAMP 显示转换问题 oracle存储过程和存储函数sql 基于Azkaban的任务定时调度实践 帆软报表开发步骤 Oracle归档日志分析 Oracle查询归档日志 帆软设置浏览内容宽度为屏幕宽度 JS修改下拉框控件的默认文字“不选”
帆软设置下拉框参数为空选择全部
TwinStudio · 2022-04-16 · via 博客园 - TwinStudio

使用参数进行报表数据查询时,如果控件中参数值为空(控件中不输入参数值),点击查询后,不会显示任何报表数据。如下图所示:

Snag_47e0797.png

我们需要实现的效果是,当控件中参数值为空,点击查询后,会显示报表中的全部数据。如下图所示:

Snag_486498b.png

第一种方式:模板参数为空

给单元格 A2 添加数据过滤条件。双击 A2 单元格,在弹出的数据列对话框中选择过滤,添加一个普通条件,让数据列货主地区等于公式if(len($货主地区)==0,nofilter,$货主地区),点击增加,点击确定,即通过添加过滤条件的方式实现参数为空选全部的效果。

注:nofilter 表示不过滤,if(len($货主地区)==0,nofilter,$货主地区) 表示参数「货主地区」为空,就不过滤数据,若不为空则以参数值进行过滤。

Snag_4c9ba50.png

 第二种方式:数据集参数为空

新建数据集ds1,输入数据库查询语句:

SELECT * FROM 订单 

WHERE 1=1  

${if(len(area) == 0,"","and 货主地区 = '" + area + "'")}

在定义数据集参数时给它设置条件来实现参数为空选全部的效果,此时数据集参数为「area」。

where 1=1 表示条件永真,防止没有参数条件时,where 后面没有有效内容导致出错。

len(area)==0 表示参数「area」为空。

"and 货主地区='"+area+"'" 中间的「area」表示取参数值,'+' 为字符串拼接符号。

${if(len(area) == 0,"","and 货主地区 = '" +area + "'")} 表示:

参数「area」为空时,查询语句相当于:SELECT * FROM 订单

当参数「area」不为空时,查询语句相当于:SELECT * FROM 订单 WHERE 1=1 and 货主地区='${area}'

Snag_3a97f25.png