本帖最后由 Bella.Yuan 于 2023-1-5 17:44 编辑
今天介绍报表中的两种表格的嵌套展示的方式,并且不同的表格可以使用不同的数据集进行数据的展示。第一种是表格的嵌套,也就是在一个报表的表格组件中嵌套另外一个表格的方式;第二种是通过报表的子报表组件实现表格之间的嵌套组合。
1. 需求描述:存在三个数据集;采购申购主项、采购任务分配和采购子项。报表分为“主项信息”和“跟踪子项信息”,其中主项的数据来源于数据集“采购申购主项”,根据其中的“物料代码”字段查询;跟踪子项信息下的物流状态、部门等数据来源于数据集“采购任务分配”,其中的明细数据来自于数据集“采购子项”;并且子项中的信息是可以进行树状展开和折叠的。具体的情况可以参考下面这张图
2. 需求分析:① 这个报表至少涉及两个以上的数据集,所以肯定是得有两个以上的表格配合才能实现的(因为一个表格只能对应一个数据集);②跟踪子项中的数据存在树状折叠结构的一个设计,这个可以通过表格中的“切换元素”进行配置设计;③ 子项中采购申请数据中的明细数据来源于另外的数据集,所以这里还得是一个子表格;④最后就是表格之间的单元格框线对齐的样式调整了;
3. 解决方案:根据我们现有的系统功能,实现此需求的方案有两个:① 表一个报表中使用多个表格进行配合和嵌套,以实现此报表;②将功能分解后,每一个展示部分设计一个报表,然后通过子报表组件分别将各个部分的报表引入到主报表中进行展示;
4. 优缺点:① 表格嵌套的优势在于所有的表格都在同一报表中设计实现,如果后期有新增的部分,只需要在增加一个表格进行调整即可,方便管理和维护;缺点在于多个表格对应多个数据集,都在一个报表中,容易产生混淆,理解难度较高,并且多个表格之间的格式调整也会随着数量的增加而不断提高;②子报表的设计优势在于,不同的数据展示在不同的报表中,只需要根据主报表中单元格的尺寸在子报表中进行设计就行,容易理解和掌握;且若是别的地方需要使用当前的设计时,可以很轻松的通过子报表进行引用集成,复用性高;缺点在于,子报表的数量多,维护的成本比较高;
5. 方案实施: a) 报表嵌套实现: i. 建立数据集
ii. 设计表格: ①. 主项信息部分:
②. 子项信息中的数据,我吧表头也设计到这一部分的表格中了,如果觉得麻烦。可以单独添加一个表格组件,把表头设计进取,这样的话,所有的明细数据的表格设计就统一了:
③. 子项明细数据的第二种设计模式,因为表头只要自行信息中的第一个表格中设计就行,所以从第二个开始往后的都只需要展示数据就行:
④. 最后就是子项明细数据的展示,这一部分数据展示的是子项中的明细数据,去需要嵌套再子项数据中:
⑤. 最后就是树状表格功能的设计:首先找到“采购申请1”的单元格名称;
然后找到并选中要折叠的表格的行,在“属性设置”中,找到“切换元素”;把刚才的文本框名称输入,就完成了树状功能的设计:
iii. 效果预览: ①. 报表展示:
② 效果预览:
b) 子报表方式实现:
i. 子项明细数据报表
效果预览:
ii. 跟踪子项报表设计:
树状折叠效果的设计和表格设计时的设计一致:
效果预览:
iii. 主报表设计: ①. 主报表的数据比较固定,所以不进行单独的报表设计,直接在当前报表中进行设计,然后通过子报表引入对应的子报表:
② 效果预览:
|