欢迎来到天天文库
浏览记录
ID:35962812
大小:1.04 MB
页数:91页
时间:2019-04-28
《报表制作过程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、报表编辑过程报表的部署过程1.首先,如果是第一次部署报表,首先拷贝报表引擎所需的文件:·从%安装路径%DeploymentJSP下拷贝Ming.tld到Web应用程序的WEB-INF目录下·从%安装路径%DeploymentJSP下拷贝mr.jar(文件名可能不同,可能如mr_Trial.jar等)到Web应用程序的WEB-INF/lib目录下,如果lib目录不存在则创建。·选择一个目录作为报表根目录(RootPath),如/YourApp/Reports/,从%安装路径%DeploymentJSP下拷贝ReportCenter.jsp到报表根目录/You
2、rApp/Reports/。·从%安装路径%DeploymentJSP下拷贝文件MREngine.prop到目录/YourApp/WEB-INF/下。MREngine.prop文件中包含一个MRViewerVersion参数,类似MRViewerVersion=2,1,1,0,“2,1,1,0”描述的是报表浏览器的版本号码,浏览器升级之后,需要在此指定新版本的版本号,这样客户端才可以自动下载新版本的浏览器插件。关于配置文件MREngine.prop中参数的详细说明请参考配置文件里面注释。·从%安装路径%Deployment下拷贝Viewer文件夹到报表根目录/Y
3、ourApp/Reports/下,Viewer文件夹中有MRViewer.cab文件,这就是报表浏览器插件。2.拷贝已经用报表设计器设计好的报表模板到报表根目录或者根目录下的子文件夹下面注意:如果你的应用程序是YourApp,那么你可以指定这个应用程序YourApp下的目录“/Reports/”作为你的报表的根目录。即:“/Reports/”。3.创建JSP页面,嵌入报表浏览器、为报表准备数据:新建一个JSP文件,用于显示报表,如FirstReport.jsp,加入下面代码:·引用TagLibrary<%@tagliburi="Ming.tld"prefix="ming
4、"%>·引用需要的包<%@pageimport="com.ming.webreport.*"%>·创建MREngine对象MREngineengine=newMREngine(pageContext);·设置报表根路径engine.setRootPath("/Reports/");注意此处不应该包含应用程序的虚拟目录“YourApp”,而是从虚拟目录的根开始,应该是“/Reports/”。·添加数据集在数据组件中添加一个数据集,其中"titles"用来指定数据集名称,这个名称与用报表设计器设计报表模板时指定的数据集名称对应;rs可以是一个com.ming.webRepo
5、rt.DataRecord和com.ming.webReport.MRDataSet,或者java.sql.ResultSet,包含了报表所需数据:engine.addMRDataSet("titles",rs);1.可以将其他类型的数据转换成MRDataSet对象,然后使用addMRDataSet添加数据集,下面的代码展示如何将一个java.sql.ResultSet转换为com.ming.webReport.MRDataSet(addMRDataSet方法可以直接使用ResultSet,以下代码仅作为演示):ArrayListary=newArrayList();w
6、hile(rs.next())//rs为一个现有非空的ResultSet对象{DataRecordrec=newDataRecord();for(inti=1;i<=rs.getMetaData().getColumnCount();i++){Objectval=rs.getObject(i);rec.setValue(rs.getMetaData().getColumnName(i),val);}ary.add(rec);}MRDataSetmrds=newMRDataSet();mrds.addRows(mrds);engine.addMRDataSet("titl
7、es",mrds);如果报表用到的数据集超过一个,则可以继续加入这些数据集:engine.addMRDataSet("roysched",rs2);如果数据集之间存在关联,用下面代码设置数据集之间的关联,其中"titles"是主数据集的名称,"roysched"是子数据集的名称,而"title_id=title_id"是两个数据集之间的关联表达式,表示使用各自表中的title_id字段对应关联。如果关联字段超过一组时用分号(;)分隔:engine.addRelation("titles","roysched","title_id=titl
此文档下载收益归作者所有