Jasperreport+iReport动态报表开发文挡

Jasperreport+iReport动态报表开发文挡

 

1.  和普通报表一样写好Sql语句,摆好要显示的字段。

2.  要显示的字段有N个就设置N个不同的参数$P{X},每个参数取名最好和字段有一定的联系,便于自己了解。下面分别用数字1-N来代替参数名字,字母a-z为字段名。

3.  在字段的Text Field Expression中写表达式。

表达式:$P{1}.equals(“a”)?$F{a}:$P{1}.equals(“b”)?$F{b}:$P{1}.equals(“c”)?$F{c}:$P{1}.equals(“d”)?$F{d}:$P{1}.equals(“e”)?$F{e}:$P{1}.equals(“f”)?$F{f}:” ”

equals(”X”)中的X是自己定义的,本人是为方便所以设为和字段名字一样。

4.  将此表达式复制到所有字段的表达式中,但是要修改参数的名字。例如:1改成2

$P{2}.equals(“a”)?$F{a}:$P{2}.equals(“b”)?$F{b}:$P{2}.equals(“c”)?$F{c}:$P{2}.equals(“d”)?$F{d}:$P{2}.equals(“e”)?$F{e}:$P{2}.equals(“f”)?$F{f}:” ”

5.  接下来做每列要显示的中文列名。通常我们都是用文本框来直接编辑中文,但是现在是动态的显示,不能够固定显示某个中文,所以也必须用$F{}和字段同步显示。

复制下所有字段,将字段中的表达式改下就可以了。比如:$P{1}.equals(“a”)?$F{a}:$P{1}.equals(“b”)?$F{b}:$P{1}.equals(“c”)?$F{c}:$P{1}.equals(“d”)?$F{d}:$P{1}.equals(“e”)?$F{e}:$P{1}.equals(“f”)?$F{f}:” ”里面的每个字段名字都改成中文的列名就可以了。$F{a}改成“用户名”,$F{b}改成“城市”。。。。。。等等

注意:所有字段框中Text Field的Blank when null给打上勾。

 

和Common中的Remove line when blank打上勾。

6.  都改好之后排好位置,编译下就生成.jasper文件了。

7.  前台:(本人是这样子做的)把所有字段列出来由用户选择。例如:有a,b,c,d,e,f字段,用户选择了显示a,c,e三个字段。

后台:将参数1设置为“a”,2设置为“c”,3设置为”e”传给报表。

注意:其它的参数都必须设置值为“X”,X为随便一个什么值,但就是不能为空。

8.  输出来的报表就是3个字段的报表的了。也许美观方面不是很理想,但是可以在前台的程序中控制,这个就大家自己去想了哦。

 

转自:

好了,就写到这里了,这是本人用Jasperreport+iReport工具开发动态报表时的一点心得,希望可以给大家一点帮助,一丁点帮助也可以,呵呵。本人也是新手,所以希望大虾们可以继续完善或者有更好的方法可以拿出来共享哦。希望以后可以得到大家的帮助哦。本人QQ名“小舟”,这边感谢QQ名为:”蓝星”,”冰山雪狼”,”碎魂”,”胜者为王”等朋友的无偿帮助。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值