BIRT 如何处理横向分栏

比如要处理这么个场景:将数据记录横向排布为三列显示。效果图如下:

 

 

BIRT可以对数据纵向分栏,很难实现记录横向摆放并分栏的布局,有网友提出:把数据集绑定到List元素上,在网格中排列一个或多个数据字段,采用嵌入子网格等手段来实现,但都属于理论性阶段,并没有给出完整的示例,可想而知,即便能实现,也是需要写复杂的脚本和杂乱的网格拼接。工作量巨大。源数据格式如下:

 

 

一些特殊的布局版面,很难通过报表工具本身提供的功能直接实现,但如果准备出合适的数据源,就能大大降低报表设计的难度,集算器SPL就可以辅助BIRT准备好已分栏的数据,BIRT只管接收处理后的数据并展现即可。代码如下:

 

A

B

C

1

=myDB.query("select EId,Name,Dept from emp where EId>=? and EId<=? order by EId ",begin,end)

 

2

=A1.step(3,1)

=A1.step(3,2)|[null]

=A1.step(3,3)|[null]

3

=A2.derive(B2(#).EID:EID2,B2(#).NAME:NAME2,B2(#).DEPT:DEPT2,C2(#).EID:EID3,C2(#).NAME:NAME3,C2(#).DEPT:DEPT3)

4

return A3

 

 

其实还有很多类似的格式布局问题在BIRT中处理不太方便,但有集算器SPL的辅助却很简单,感兴趣可以参考:解决BIRT报表特殊布局的若干示例

集算器提供了JDBC驱动,可以很方便的与BIRT等报表工具集成,BIRT调用SPL脚本有使用和获得它的方法。

关于集算器安装使用、获得免费授权和相关技术资料,可以参见如何使用集算器

 

来源:https://stackoverflow.com/questions/28672042/how-to-display-dataset-result-as-left-to-right

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值