用复选框动态实现多层分组

分组报表是所有报表当中最普通,最常见的报表类型,如果分组的字段及个数都不确定,需要通过复选框选择来进行分组,这时该如何制作报表呢,下面通过一个简单的例子来实现。

第一步,新建报表,报表样式如下:

在此报表中,我们要根据产品名称、产品ID、供应商ID进行选择分组。在报表中添加3个参数arg1,arg2和arg3分别对应着产品ID、产品名称、供应商ID。

第二步,建立参数模板,样式如下:

其中B1单元格设置如下:

B1的开值为1,对应的主报表中A2单元格=if(arg1==1,ds1.group(产品名称,false),”"),该表达式的意思为如果该复选框被选中,则传过来的参数arg1值为1,这时按照产品名称进行分组,否则置空,为空时隐藏该列,隐藏列表达式为if(value()==”",true,false)

C1和 D1 单元格也设置同样的编辑风格,开值分别为2和3。

第三步,发布报表,查看结果

当只选择产品名称进行分组时,效果如下:

如果3个字段都选中,效果如下:

这样我们就实现了通过复选框动态的进行多层分组的需求。

热门文章