如上图,我设置了合同号、项目负责人、甲方名称、项目名称等4个查询控件。
预期达到的查询目的:选择上述任一条件进行查询,只要符合就返回相应结果(比如只选择合同号,另外3个留空也能查询出结果)。
但现在我只有选择项目负责人的时候才会返回值,其他合同号、甲方名称、项目名称即使我知道有符合的内容,还是返回的空值。
如下图,我只选择了合同号,虽然确定这个合同号对应的有结果的,但返回的是空值。
请问各位大佬是否知道如何设置?帮助文档里是否已有类似的教程我还没看到啊?谢谢了
使用文件数据集的话,需要用对应数据集的过滤方式
参考文档
文件数据集参数过滤- FineReport帮助文档 - 全面的报表使用教程和学习资料 https://help.fanruan.com/finereport/doc-view-1715.html
用or不用and
sql里 这样写,${if(len(控件名称)==0,""," and 字段='"+控件名称+"'")}
通过SQL控制数据集查询结果。
where 1=1
${if(len(控件名称1)==0,""," and 字段1='"+控件名称1+"'")}
${if(len(控件名称2)==0,""," and 字段2='"+控件名称2+"'")}
${if(len(控件名称3)==0,""," and 字段3='"+控件名称3+"'")}
${if(len(控件名称4)==0,""," and 字段4='"+控件名称4+"'")}
你现在查不出东西,看看是不是数据集写的有问题