实现超链接时,连表查询,根据accno的值查询所在表的id值,到另一个表查询与其相等的logid,最

image.png

FineReport yzmz4X4Z6857841 发布于 2022-4-5 06:12 (编辑于 2022-4-5 06:17)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
axingLv6专家互助
发布于2022-4-5 15:55

id和accno既然是在同一张表里面,那么不用通过通过accno去查询id

在数据集里将id列也查出来,拉到单元格里隐藏,点击超链接的时候,直接传递id值

然后在子报表里接收到后与logid做比较

最佳回答
0
CD20160914Lv8专家互助
发布于2022-4-5 08:43

没有明白你最终要做什么?你是写sql还是要做什么。。。。单元格有accno?然后找到id了。。。拿到这个id最后要做什么???你最终需要的效果是如何的

最佳回答
0
数码天空Lv4初级互助
发布于2022-4-5 21:11(编辑于 2022-4-5 21:12)

方法一:使用FR.ajax 

     https://help.fanruan.com/finereport/doc-view-602.html?source=4

方法二:借助两个辅助单元格

     第一步,在超链接事件中执行如下JavaScript脚本(设置参数accno):

    _g().setCellValue("C1",accno);  //将参数accno的值先赋给辅助单元格C1

    var c = _g().getCellValue("C2");  //从辅助单元格C2中读取转换后的值

    alert(c);  //验证取到的值

     第二步,在辅助单元格C2中插入公式,用于转换数据,公式如下:

    ds2.select(SEAL_ID, LOG_ID = ds1.select(ID, ACC_NO = C1))

    根据辅助单元格C1中的accno值获取ds1数据集对应表里的ID值,再以该值到ds2数据集对应表里获取满足条件的SEAL_ID值,返回到辅助单元格C2中供JavaScript读取。   

    第三步,隐藏C1、C2单元格。

方法三:在JS中使用FR公式(不推荐有安全隐患)

     https://help.fanruan.com/finereport/doc-view-1785.html

  • 4关注人数
  • 310浏览人数
  • 最后回答于:2022-4-5 21:12
    请选择关闭问题的原因
    确定 取消
    返回顶部