jasper(Ireport)table以及参数

来源:互联网 发布:共青团贵族化 知乎 编辑:程序博客网 时间:2024/05/22 10:33

我是用Jaspersoft Ireport Designer设置模板的。这里主要介绍如何通过使用table组件以及传递参数,数据来自数据库。闲话少说,直接开始。

1.首先建立模板,设计sql的时候,最好要有数据。如果你的报表全部用table做来,就相当于主表没有任何从数据库读出的信息,可以将sql设计为select 1.要保证有数据,不然在生成预览的时候,会显示No pages。当然,这个可以通过对报表属性设置解决,属性‘When no data’为‘All Sections,No Detail’。


2.在parameters中添加对主表添加一个参数,我添加的参数名为parameter。参数将会将起接收到的值传到table中。(其他变量是自带的)


3.建立table,可以把table建立在Detail1区域内,这样你的报表如果有分页,就会产生很多个header(表头),每页一个表头;为了不让每页一行header,我将table建在了Title区域,事实上,我将报表其他部分的高度都设置为0,只留下title区域,这样报表更容易控制(也是为了应对奇奇怪怪的需求被逼如此)。

    只剩title的报表模板


   添加table的时候,首先要组件中找到Table组件,拖到Title部位,之后提示如下


选择New Dataset,之后就可以设置table的数据源和sql,这些工作相信都会做的。我在选择table style的时候,勾掉了下面的选项,视自己需要而定。


这里要说明,刚建好的表需要调整大小位置,table有自己的大小,不受主表的约束,所以主表要足够宽,以适应table的宽度。


4.为了说明参数的传递,我在字表中添加参数,为param。

在建table的时候,我们有字表的数据集DataSet,我没有修改名字,是默认的'new dataset 1'。参数建在里面,见下图。


5.传递参数设置。对新建的table,编辑其table datasource.设置如下,注意实际会显示Dataset Run


6.为了显示效果,可以在table中,添加table column中添加来一个header。


7.这样,就可以了。Preview一下,就知道怎么用来。这个参数可以传到sql中使用。

    效果,传入参数为:‘lmxmimihuhu’,显示为:

                        

0 0
原创粉丝点击