润乾报表Api传参-字符串组型参数

背景说明

Api运算报表,给报表的参数赋值时,如果参数的数据类型是字符串组类型时,怎么给这个参数赋值呢,我们看一个例子。

 

示例代码

<%

        ……

      List list=new ArrayList();

       ……

       context.setParamValue(arg1, list);

       ……

  %>

 

应用举例

新建一张报表,如下图:

数据集:

SQLSELECT 订单.订单ID,订单.货主地区,订单.货主城市 FROM 订单 where 订单.货主地区 in (?)

 

参数定义:

定义一个参数,如下图:

数据集中的参数设置:

 

单元格表达式,如下图:

A1:货主地区

B1:货主城市

C1:订单数

A2=ds1.group(货主地区,true)

B2=ds1.group(货主城市,true)

C2=ds1.count()

 

5 api运算报表,如下代码:

<%@ page contentType=”text/html;charset=gb2312″ %>

<%@ page import=”java.io.*”%>

<%@ page import=”java.util.ArrayList”%>

<%@ page import=”java.util.List”%>

<%@ page import=”com.runqian.report4.usermodel.*”%>

<%@ page import=”com.runqian.report4.model.*”%>

<%@ page import=”com.runqian.report4.view.html.*”%>

<%@ page import=”com.runqian.report4.util.*”%>

<%@ page import=”com.runqian.report4.view.excel.*”%>

<%@ page import=”com.runqian.report4.view.excel.ExcelReport”%>

 

<%

       //第一步,读取报表模板

       String reportFileHome=Context.getInitCtx().getMainDir();

       String reportPath = application.getRealPath(reportFileHome)+”\\strGroup.raq”;     

       ReportDefine rd = (ReportDefine)ReportUtils.read( reportPath );     

 

       //第二步,定义参数

       String arg1 = “”;

       //String strGroup1 = “华北“;

       //String strGroup2 = “华北,华东“;      

       //数组,将参数添加到数组中

       List list=new ArrayList();

       list.add(“华北“);

       list.add(“华东“);

       list.add(“华中“);

 

       //第三步,运算报表

       Context context = new Context();

       context.setParamValue(“arg1″, list); //将数组传给参数

       //context.setParamValue(“arg1″, strGroup2); //用这种方式,是得不到值的,只会将strGroup2的值当字符串,是不会当字符串组的

       Engine enging = new Engine( rd, context);

       IReport iReport = enging.calc();

 

       //第四步,展现

       HtmlReport hReport = new HtmlReport( iReport,”report1″ );   

       out.print(hReport.generateHtml());  

 

%>

 

展现页面,就能看到效果了:

热门文章