帆软报表参数控件和数据集死循环有什么好的解决方案吗

使用的帆软8.0


参数控件为下拉控件 使用的数据查询 查的数据集

数据集中的sql 有调用参数值的判断 所以造成了死循环

报表可以运行,会出现警告,同时可能会吃连接池的连接数 希望有个好的解决方案或者优化一下 谢谢


贴图:  下拉框名为 orgId

image.png

数据集 诊所 sql: 参数是项目传递的

select a.id,a.name from org_clinic a 
${if(isClinicCenter == '1'," and a.parent_id ='" + parentOrgId + "'"," and a.id =  '" + orgId + "'")}


FineReport chen96982468 发布于 2019-2-12 00:36 (编辑于 2019-2-12 00:38)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
1
flyingsnakeLv6资深互助
发布于2019-2-12 09:14

这样写是不会有什么问题的啊?

你说的死循环是啥意思?


你取得的变量  parentOrgId  和orgid 对应的值 也是从这个数据集取出来的?

如果是,那么多写一个独立的数据集就可以了

  • chen96982468 chen96982468(提问者) 警告:Death cycle exists at calculating widgets:orgId->orgId parentOrgId 和orgid 对应的值 是项目中传递的 orgId同时是控件的名字 做判断如果isClinicCenter==1 查出多个诊所 否则就把传递过来的orgId名字查出来 只有一个
    2019-02-12 09:38 
  • flyingsnake flyingsnake 回复 chen96982468(提问者) 变量名字,换下就好了。没有必要非弄成一样的。
    2019-02-12 09:49 
最佳回答
1
FaintLv6中级互助
发布于2019-2-12 09:25

用sql函数来给控件做数据字典啊

  • chen96982468 chen96982468(提问者) 但是我需要控件的数据做查询条件呀,而且是id 不能是name
    2019-02-12 09:39 
  • Faint Faint 回复 chen96982468(提问者) 你现在是什么意思呀,多个控件,联动的么,一个选完,其他的数据字典就变了
    2019-02-12 09:45 
  • chen96982468 chen96982468(提问者) 回复 Faint 现在做的报表功能可以实现 但是报一个提示: 警告:Death cycle exists at calculating widgets:orgId->orgId 原因是:控件用的数据集查询,数据集里有对该控件的参数查询,控件是三级联动
    2019-02-12 09:52 
  • Faint Faint 回复 chen96982468(提问者) 分开两个数据集吧,这样用确实会有问题啊,哪有自己用自己的说法
    2019-02-12 09:54 
  • 3关注人数
  • 824浏览人数
  • 最后回答于:2019-2-12 09:25
    请选择关闭问题的原因
    确定 取消
    返回顶部