知识库

推荐内容

快逸做的更好

产品优势

您的位置: 首页 > 知识库 > 设计基础 > Api传参—字符串组型参数

Api传参—字符串组型参数

◆ 背景说明

Api运算报表,给报表的参数赋值时,如果参数的数据类型是字符串组类型,要怎么实现。看下面的例子。

◆ 示例代码

<%
……
List list=new ArrayList();
……
context.setParamValue(arg1, list);
……
%>

◆ 应用举例

1,新建一张报表,如下图:

2,设置数据集如下:

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

3,参数定义:

定义一个参数,如下图:

数据集中的参数设置:

4,单元格表达式,如下图:

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());
%>

6,展现页面,预览效果:

本文标签:
发布日期:2010/08/27
本文分类: 设计基础