普通报表中,如何设置参数控件,把二个表格中的数据都关联起来,实际二个表格数据的同步筛选。

如图,想要实现:选择一个客户后,点击查询,自动导出该客户的销售明细与退货明细

FineReport 瑞贤贸易 发布于 2020-1-9 16:17 (编辑于 2020-1-9 16:17)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
finereadLv6初级互助
发布于2020-1-9 16:20

这个你通过在上面传递参数到两个数据集里面就可以控制呀。 

ds1里面
where 1=1 and 客户名称='${客户名称}'

ds2里面

where 1=1 and 客户名称='${客户名称}'

  • 瑞贤贸易 瑞贤贸易(提问者) 原来数据集里是这个:SELECT * FROM 销售单 是改成这样吗: SELECT * FROM 销售单 where 1=1 and 客户名称=\'${客户名称}\' 我试了下,改完里面就导不出数据了。。我是SQL小白,边学边弄的 >_<
    2020-01-09 16:34 
  • fineread fineread 回复 瑞贤贸易(提问者) 你这个是什么数据库啊,你这个里面为什么还有个\\
    2020-01-09 16:38 
  • 瑞贤贸易 瑞贤贸易(提问者) 回复 fineread 那二个\\\\没有,输错了
    2020-01-09 16:41 
  • fineread fineread 回复 瑞贤贸易(提问者) SELECT * FROM 销售单 where 1=1 and 客户名称=\'${客户名称}\' ,这个是没有判空,所以你筛选框不选择的话是没有结果的,你可以选择个值查询看下 。你这个看着应该一次只能看一个客户的, SELECT * FROM 销售单 where 1=1 and 客户名称=\'PF白工地熊总\' ,这个单引号里面就是客户的名称
    2020-01-09 16:44 
最佳回答
0
xiapanfeiLv3见习互助
发布于2020-1-9 16:21

两个数据集里面都加入参数过滤就好了啊

最佳回答
0
IceBall09Lv6中级互助
发布于2020-1-10 08:35

先在模板参数里面加一个参数;

然后设置过滤:

image.png

具体可以参考这个,请采纳~

过滤.cpt


最佳回答
0
13207222709Lv6高级互助
发布于2020-1-10 08:42

如果需要未选择客户查询全部客户的话

ds1:

select * from 销售明细 t where 1 = 1 ${if(len(客户名称) =0,"","and  t.id ='" + 控件名+ "'")}

ds2:

select * from 退货明细 t where 1 = 1 ${if(len(客户名称) =0,"","and  t.id ='" + 控件名+ "'")}

如果参数控件不能为空的话

ds1:

select * from 销售明细 t where t.客户名称= '${控件名}'

ds2:

select * from 退货明细 t where t.客户名称= '${控件名}'

  • 5关注人数
  • 706浏览人数
  • 最后回答于:2020-1-10 08:42
    请选择关闭问题的原因
    确定 取消
    返回顶部