BIRT报表如何实现按行分组合并重复列数据?
在BIRT报表中实现患者就诊信息合并显示的方法
要实现同一患者(同一就诊)的基础信息仅首次显示,后续行只展示药品信息,按以下步骤操作:
创建数据分组
- 在报表设计器中,选中展示数据的表格,右键选择插入分组。
- 分组字段选择
Pat Id和Date(确保同一患者同一次就诊的记录被归为一组),自定义分组名称(比如PatientVisitGroup)。 - 提前确保数据集已按
Pat Id和Date排序,否则分组逻辑会失效。
设置重复字段的可见性
- 选中
Date、Pat Id、Patient Name、Doctor Name这些需要隐藏重复内容的文本框,打开右侧属性面板的可见性选项。 - 选择使用表达式控制可见性,输入以下表达式:
(将this.getRow().getGroupIndex("PatientVisitGroup") > 0PatientVisitGroup替换为你实际创建的分组名称),该表达式会让组内非第一行的这些字段自动隐藏。
- 选中
处理序号列(Sl.no)
- 若需要序号仅在组内第一行显示,直接给Sl.no的文本框设置和上述字段相同的可见性规则即可;如果要保留全局连续序号,可维持原有设置。
调整布局对齐
- 检查
Medicine Name和Qty列的单元格位置,通过固定列宽、调整单元格边距,确保前面字段隐藏后,这两列的内容不会错位,和期望的布局一致。
- 检查
内容的提问来源于stack exchange,提问作者Luke
相关产品推荐
相关产品推荐

