[]
        
在线Demo 免费试用
(Showing Draft Content)

动态显示行分组数据

1. 概述

1.1 功能概述

动态显示行分组数据功能支持通过参数选择或列隐藏两种方式控制行分组的显示与隐藏,并自动联动展示对应数据,其核心技术是通过列隐藏结合行分组表达式进行实现,与常规动态组件方案不同。

2. 操作步骤-参数控制行分组

通过参数可动态控制行分组的显示/隐藏状态,同时自动关联展示所选分组的对应数据。

PixPin_2025-07-31_10-30-59

2.1 新建报表

  1. 新建报表,添加 Demo_销售明细 的数据集。然后添加矩表组件,使用矩表向导完成矩表设计,如下图示。

    1)矩表向导设计。

    PixPin_2025-07-31_10-34-14

    2)报表设计器展示矩表。

    PixPin_2025-07-31_10-34-37

2.2 添加报表参数

  1. 添加一个报表参数p1,并如图所示配置参数。

    PixPin_2025-07-31_10-36-18

2.3 设置列的动态隐藏

  1. 单击“ 客户地区 ”单元格上面的灰色区域选中客户地区这一列,在右侧打开列设置面板,找到隐藏属性,并选择表达式

    PixPin_2025-07-31_10-38-04

  2. 在隐藏属性的表达式界面,使用下图的表达式并保存。

    PixPin_2025-07-31_11-03-08

  • 表达式: {IIF(IndexOf(@p1, "客户地区") >= 0, false, true)}

  • 表达式说明 : 当参数包含客户地区时,显示客户地区行分组,否则隐藏客户地区行分组

    • IndexOf:返回给定元素的第一个索引,如果不存在,则返回 -1

    • IIF:根据第一个参数的结果逻辑值(真/假),返回第二个或第三个参数的值。

  1. 同理选中客户省份和客户城市的列,分别设置表达式:

    1)客户省份列隐藏的表达式:{IIF(IndexOf(@p1, "客户省份") >= 0, false, true)}

    PixPin_2025-07-31_15-54-56

    2)客户城市列隐藏的表达式:{IIF(IndexOf(@p1, "客户城市") >= 0, false, true)}

    PixPin_2025-07-31_15-54-08

  2. 此时,预览报表,参数可控制行分组显示和隐藏,但数值未同步更新。期望效果:切换分组时,显示该分组对应的数据,下面需要修改行分组的分组条件为表达式。

    参数控制行分组的显示

2.4 修改行分组的分组表达式

  1. 选择“客户地区”的行分组,在右侧打开分组设置面板,找到分组条件属性,选择表达式

    PixPin_2025-07-31_11-18-11

  2. 在分组条件的表达式界面,使用下图的表达式并保存。

    PixPin_2025-07-31_11-19-44

  • 表达式:{IIF(IndexOf(@p1, "客户地区") < 0, 1, 客户地区)}

  • 表达式说明 : 当参数包含客户地区时,使用客户地区字段分组,否则使用“1”作为分组条件,此时所有值都会归于同一组

    • IndexOf:返回给定元素的第一个索引,如果不存在,则返回 -1

    • IIF:根据第一个参数的结果逻辑值(真/假),返回第二个或第三个参数的值。

  1. 同理选中客户省份和客户城市的行分组,分别设置表达式:

    1)客户省份分组条件表达式:{IIF(IndexOf(@p1, "客户省份") < 0, 1, 客户省份)}

    PixPin_2025-07-31_11-27-20

    2)客户城市分组条件表达式:{IIF(IndexOf(@p1, "客户城市") < 0, 1, 客户城市)}

    PixPin_2025-07-31_11-28-50

2.5 成果展示

  1. 预览报表,可通过参数动态控制行分组的显示与隐藏,并实时展示对应分组的关联数据。

    参数控制行分组及其关联数据

3. 操作步骤-隐藏列实现行分组

通过直接隐藏列实现行分组控制,相比参数方案更简便:免参数、免表达式。以下以客户地区-客户省份-客户城市的行分组为例,演示隐藏客户城市列的操作。

PixPin_2025-07-31_12-09-16

3.1 新建报表

  1. 新建报表,添加 Demo_销售明细 的数据集。然后添加矩表组件,使用矩表向导完成矩表设计,如下图示。

    1)矩表向导设计。

    PixPin_2025-07-31_10-34-14

    2)报表设计器展示矩表。

    PixPin_2025-07-31_10-34-37

3.2 设置列的隐藏

  1. 单击“ 客户城市 ”单元格上面的灰色区域选中客户地区这一列,在右侧打开列设置面板,找到隐藏属性,并选择是(即隐藏该列)

    PixPin_2025-07-31_12-10-15

  2. 此时,预览报表,客户省份列已隐藏,但数值未同步更新。期望效果:切换分组时,显示该分组对应的数据,下面需要修改行分组的分组条件为表达式。

    PixPin_2025-07-31_12-10-58

3.3 修改行分组的分组表达式

  1. 选择“客户城市”的行分组,在右侧打开分组设置面板,找到分组条件属性,选择表达式

    PixPin_2025-07-31_12-13-49

  2. 在分组条件的表达式界面,使用下图的表达式并保存。

    PixPin_2025-07-31_12-14-15

  • 表达式:{IIF(Parameter!GroupingEnabled.Value,客户城市,1)}

  • 表达式说明 : 当隐藏该分组时,使用“1”作为分组条件,此时所有值都会归于同一组

    • IIF:根据第一个参数的结果逻辑值(真/假),返回第二个或第三个参数的值。

注意: 本示例仅仅隐藏了'客户城市'列(需修改其行分组条件),隐藏其他列时请对应调整各自行分组条件。

3.4 成果展示

  1. 预览报表,可查看隐藏列实现行分组控制,并实时展示对应分组的关联数据。

    PixPin_2025-07-31_16-49-50

4. 资源下载

  1. 示例文件包说明: 已包含上面讲解的两种情况,下载后,您可直接导入至对应版本系统中查看使用。

    动态显示行分组数据.zip

    注意: 本示例压缩包基于8.1版本制作,请使用8.1及以上版本并参照导入导出文档操作(低版本可能存在兼容性问题,建议升级)。