反馈已提交

网络繁忙

查询结果为空时不显示报表内容

  • 文档创建者:axing
  • 历史版本:9
  • 最近更新:Fairy.Zhang 于 2024-08-05
  • 1. 概述

    1.1 版本

    报表服务器版本
    功能变动
    11.0-

    1.2 问题描述

    查询报表时,即使没有查询结果,表头和表尾的信息也会显示。如下图所示:

    Snag_29c3f403.png

    希望的效果为:查询结果为空时,报表区域也为空,即什么都不显示;而能查询出结果的,则正常显示报表。如下图所示:

    1.gif

    1.3 实现思路

    1)选择查询结果所在的单元格,如 1.1 中所述,查询结果是「地区」,显示地区的单元格为 A2 。

    2)判断该单元格是否为空,为空则隐藏整个报表区域。

    3)隐藏报表区域有两种实现方案:

    • 方案一:通过条件属性设置行高为 0 实现。

    • 方案二:通过添加加载结束事件写 JavaScript 脚本实现。

    2. 示例

    2.1 准备数据

    1)点击菜单栏「文件>新建普通报表」,新建一张普通报表,如下图所示:

    新建普通报表.png

    2)点击数据集管理面板的「+」按钮,新建数据库查询 ds1,SQL 查询语句为:SELECT * FROM 销量 WHERE 地区='${地区}' ,如下图所示:

    新建数据库查询.png

    2.2 设计表格

    1) A1-C1 单元格输入文本, A2-C2 单元格拖入数据列,如下图所示:

    设计表格5.png

    2)选中 C2 单元格,点击右侧属性面板的「单元格元素」,数据设置为「汇总」,如下图所示:

    设计表格2.png

    3)合并 A3、B3 单元格,输入文本,C3 单元格插入公式: SUM(C2)。如下图所示:

    设计表格4.png

    2.3 设置参数

    1)点击参数面板编辑按钮,进入参数面板编辑界面,将参数「地区」添加至参数面板,设置控件类型为「文本控件」,如下图所示:

    设置参数.png

    2.4 方案一:设置条件属性

    1)选中 A1-B3 单元格,点击右侧属性面板中的「条件属性」,点击「+」按钮添加条件属性。

    2)点击「+」按钮,设置行高为 0 ,添加公式类型的公式条件:len(A2)=0。即如果没有符合查询条件的数据,隐藏表格。如下图所示:

    设置条件属性.png

    2.5 方案二:添加加载结束事件

    1)点击菜单栏「模板>模板Web属性」,选择「分页预览设置」,选择「为该模板单独设置」。

    2)点击「+」按钮添加「加载结束」事件,输入 JavaScript 代码。即如果没有符合查询条件的数据,隐藏表格。如下图所示:

    加载结束时间.png

    JavaScript 代码如下:

    if ($("[id^=A2]").text().length == 0) {
    $(".x-table").css("display", "none");
    }

    2.6 效果预览

    2.6.1 PC 端

    保存报表,点击「分页预览」,上述两种方案效果相同,如下图所示:

    7E9E51EB-9F28-428E-A2D8-B0E4CFAB98B7.GIF

    2.6.2 移动端

    方案二:添加加载结束事件 不支持移动端。

    方案一:设置条件属性 支持移动端,如下图所示:

    1E9C0A18-C0AA-4D64-8CCA-8385DFAD11D8.GIF

    3. 下载模板

    点击下载方案一模板:查询结果为空时不显示报表内容.cpt

    点击下载方案二模板:查询结果为空时不显示报表内容-JS.cpt

    方案一已完成模板参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\DetailReport\查询结果为空时不显示报表内容.cpt

    方案二已完成模板参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\DetailReport\查询结果为空时不显示报表内容-JS.cpt

    附件列表


    主题: 报表专题
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持