反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

双向折叠树

  • 文档创建者:Alicehyy
  • 历史版本:11
  • 最近更新:帆软应用复用-Cat 于 2022-11-17
  • 1. 概述

    1.1 版本

    报表服务器版本
    10.0

    1.2 预期效果

    我们有时需要数据表可以根据横向和纵向的表头分别实现展开或折叠到任何数据详细信息,以方便动态查看,例如:显示不同地区下的食品类别的订单数量,效果如下图所示:

    动画1.gif

    1.3 实现思路

    双向折叠树就是行与列方向都有 折叠树,先制作为组织树报表,然后给每层数据添加树节点按钮,最后通过数据分析预览 (&op=view) 即可查看效果。

    注:折叠树仅支持「数据分析」预览,且不支持冻结。

    2. 示例

    2.1 准备数据

    新建普通报表,新建数据库查询,SQL 查询语句为:

    SELECT 货主地区,货主城市,客户ID,类别名称,订单.订单ID,产品名称 FROM 产品,类别,订单,订单明细

    where 产品.类别ID=类别.类别ID and 订单.订单ID=订单明细.订单ID and 产品.产品ID=订单明细.产品ID and 货主地区 in ('华东','华北') and 类别名称 in ('谷类/麦片','肉/家禽','饮料') and 客户ID like '%a'

    如下图所示:

    Snag_9ec15f6.png

    2.2 设计表格

    首先要设计一个双向折叠树,双向折叠树需要注意折叠树数据列不可位于同一行或者同一列。具体设置详见模板,主要注意单元格的扩展方向、父格设置以及过滤条件。表格样式如下图所示:

    单元格设置如下:

    单元格
    设置
    A1~C3合并 A1~C3 ,插入斜线,内容为:产品|订单数量|客户,选择从左上到右下发散
    A4~C4合并 A4~C4 ,拖入 ds1 货主地区数据列,纵向扩展
    B5~C5合并 B5~C5 ,拖入 ds1 货主城市数据列,纵向扩展,左父格为 A4 。
    C6拖入 ds1 客户ID数据列,纵向扩展,上父格为 B5 。
    D1~D3
    合并 D1~D3 ,输入文本:食品,横向扩展。
    E2~E3合并 E2~E3 ,拖入 ds1 类别名称数据列,横向扩展,上父格为 D1 。
    F3
    拖入 ds1 产品名称数据列,横向扩展,上父格为 E2 。
    G1~G3合并 G1~G3 ,输入文本:饮品,横向扩展。
    H2~H3合并 H2~H3 ,拖入 ds1 类别名称数据列,横向扩展,上父格为 G1 。
    I3拖入 ds1 产品名称数据列,横向扩展,上父格为 H2 。

    2.3 设置树节点按钮

    为了实现双向折叠树需要为树节点添加「按钮控件」。

    2.3.1 纵向树节点按钮

    1)选择 A4 单元格,右侧属性面板选择「控件设置」,选择「按钮控件」,按钮类型选择「树节点按钮」,如下图所示:

    1.png

    2)选择 B5 单元格,右侧属性面板选择「控件设置」,选择「按钮控件」,按钮类型选择「树节点按钮」,如下图所示:

    1.png

    2.3.2 横向树节点按钮

    1)分别选择 D1、G1 单元格,右侧属性面板选择「控件设置」,选择「按钮控件」,按钮类型选择「树节点按钮」,如下图所示:

    1.png

    2)选择 E2 、H2 单元格,右侧属性面板选择「控件设置」,选择「按钮控件」,按钮类型选择「树节点按钮」,如下图所示:

    1.png

    2.3.3 设置过滤条件

    1)双击 E2 单元格,选择「过滤」,类型为「普通」,过滤条件为:类别名称不等于饮料,用于显示除饮料外的其他食品类别,如下图所示:

    1.png

    2)双击 H2 单元格,选择「过滤」,类型为「普通」,过滤条件为:类别名称等于饮料,用于显示饮料类别等于饮料的类别名称,如下图所示:

    1.png

    3)双击 D4 、D5、D6 单元格,选择「过滤」,类型为「普通」,分别设置过滤条件如下:


    单元格过滤条件
    D4类别名称不等于饮料 and 货主地区等于 A4
    D5类别名称不等于饮料 and 货主城市等于 B5
    D6类别名称不等于饮料 and 客户 ID 等于 C6

    如下图所示:


    4)双击 G4 、G5、G6 单元格,选择「过滤」,类型为「普通」,分别设置过滤条件如下:

    单元格
    过滤条件
    G4类别名称等于饮料 and 货主地区等于 A4
    G5类别名称等于饮料 and 货主城市等于 B5
    G6类别名称等于饮料 and 客户 ID 等于 C6

     如下图所示:

    2.4 设置数据

    将 「订单 ID 」数据列拖入 D4~I6 单元格内,选择「单元格元素>基本」,数据设置为「汇总」,「个数」,使得每个地区/每个食品种类的订单数量汇总显示,如下图所示:

    1.png

    2.5 效果预览

    2.5.1 PC 端

    保存,选择「数据分析」预览,效果如 1.2 节所示。

    2.5.2 移动端

    移动端不支持数据分析预览,要想在移动端实现折叠展开效果,可以参见文档 :移动端折叠展开树插件

    3. 已完成模板

    已完成模板请参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\TreeReport\双向折叠树.cpt

    点击下载模板:双向折叠树.cpt


    附件列表


    主题: 报表应用
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526