报表知识库
我要提问

为参数表单下拉数据集中的空值添加中文描述

需求描述
润乾的下拉数据集可以绑定数据库数据,方便用户选择,避免手动输入可能引起的误差。
用下拉数据集来实现参数下拉表单,将查询条件传递给结果报表进行计算。有时查询条件可能不需要选择或者保持为空值,这时可以使用下拉数据集中的允许空值选项,如下图:
 
这时原有的下拉列表就变为


 
相比原来的选择项多空值选择,但是这样的空值选择可读性比较差,用户使用起来会觉得不明确。下面的例子演示如何为空值选择项添加显示值让其意义更加明确。

报表实现


1. 参数表单:
下拉数据集对应的数据集:
Sql:select 类别ID,类别名称 from 类别
union
select 0,’未选择’ from 类别
sql查询结果:
 
该数据集的类别ID和类别名称分别作为下拉数据集的数据列和显示列。由上图看出在原来的数据库查询结果上添加了一条记录,如红色边框框起部分。该记录的类别ID:0用了代替”空值”选择项,类别名称:未选择代表显示值。
设计参数表单如下:
 
其中B1的WEB属性的变量名为cid(和结果报表模板的参数对应),并且设置B1的编辑风格为下列数据集,设置如下:
 

2.结果表单
接收从参数模板传递的参数并加工,返回给结果报表数据集执行查询返回符合条件的记录。
参数配置如下:
 
cid:为普通参数,从参数表单中接收相应参数cid。
cid1:为动态参数,表达式:if(cid==0,null,str(cid)),如果cid的值为0时,返回空,负责返回cid对应字符串。
(实际上参数表单中用一个区别于其他选择项的非空值代替了空值,如何用户选择空值,结果报表模板在参数处理时又将该选择的非空值恢复为空值null。)
数据集:
 


 
该数据集在cid1非空时,返回指定类别的产品记录;否则返回所有记录。
结果报表设计:
 
报表实现效果
 

选择非空值时,结果如下:
 
选择“未选择”时,结果如下
 

小结:
本例通过参数表单中修改下拉数据集的绑定数据集,添加代表空值的下拉数据项和显示值项;在结果报表中利用动态参数把代表空值的下拉数据项还原为空值null,传递给数据集进行sql查询。由此实现为下拉数据集空值添加中文描述。