1、 Grid++Report:下载最新 rubylong/Download.htm 安装 、 安 装 好 之 后 在 WebSamples 下 有 对 应 语 言
的
样
例
注意一定仔细看样例及 Grid++Report 帮助
文档, 2、 、
下面是java的后台程序: public static String GenReportParameterData(Information info) { StringBuffer xmlText = new StringBuffer ("<_grparam>\n"); try { getXmlText(xmlText, "ydinSendaddress", info.getSendaddress()); } catch(Exception e) { //output error message xmlText.append(e.toString()); } xmlText.append("\n"); return xmlText.toString(); } public static String getXmlText(StringBuffer xmlText,String name,String value){ xmlText.append("<"); xmlText.append(name);
xmlText.append(">"); xmlText.append(value); xmlText.append(""); XMLTEXT.APPEND(NAME); XMLTEXT.APPEND(">\n"); return xmlText.toString(); } public static void GenFullReportData(HttpServletResponse response,String ParameterPart, boolean ToCompress) {
try { try { response.resetBuffer(); //StringBuffer XmlText = new StringBuffer ("
\n"); StringBuffer XmlText = new StringBuffer("\n\n"); XmlText.append("\n"); XmlText.append(ParameterPart); XmlText.append(""); if ( ToCompress ) { byte[] RawData = XmlText.toString().getBytes(); //写入特有的压缩头部信息,以便报表客户端插件能识别数据 response.addHeader("gr_zip_type", "deflate"); //指定压缩方法 response.addIntHeader("gr_zip_size", RawData.length); //指定数据的原始长度 response.addHeader("gr_zip_encode", response.getCharacterEncoding()); //指定数据的编码方式 utf-8 utf-16 ...
//压缩数据并输出 ServletOutputStream bos = response.getOutputStream(); DeflaterOutputStream zos = new DeflaterOutputStream(bos); zos.write(RawData); zos.close(); bos.flush(); } else { PrintWriter pw = response.getWriter(); pw.print(XmlText.toString()); } } catch(Exception e) { //output error message PrintWriter pw = response.getWriter(); pw.print(e.toString()); e.printStackTrace();
} } catch(Exception e) { e.printStackTrace(); } } Jsp 的前端调用 CreatePrintViewer("/js/data.grf","/getData?id=${info.Id}"); src="/static/js/CreateControl.js"
3、在服务器部署插件 CAB 包
将插件安装包文件 griectl.cab 上传至 WEB 服务器的一个可下载的目录,在浏 览器的地址栏输入 griectl.cab 这个文件的 URL,要保证能下载这个文件,假 设是上传在网站的根目录,服务器 IP 为 192.168.1.10,从 “192.168.1.10/griectl.cab”这个地址能下载 griectl.cab。
在报表网页中关联报表插件 CAB 包
CreateControl.js
var GridReportCodeBase = 'codebase="/griectl.cab#Version=5,1,10,418"'; 与项目中 griectl.cab 的版本号一致 Version=5,1,10,418
里的报表主对象可以设置 你需要的一些设置项, 其中背景图是用于 套打的底图载入
其中插入项可以插入想要的内容项:例如
注意:这 name 为后台 xml 中有
的项才能接受数据
最后: 最后:分析客户端不能自动下载安装报表插件的原因
保证报表插件下载安装的因素: 1. 因素 1:插件定义中的 codebase 已经指定了插件安装包的下载 URL,把 此 URL 输入到浏览器的地址栏看能否正确下载来验证其正确性。 详细请看 前面的“在报表网页中关联报表插件 CAB 包”部分的说明。 2. 因素 2:客户端的 IE 浏览器的安全设置应该满足插件的自动下载安装要 求,Grid++Report 报表插件经过了正规数字签名,默认设置都会自动下 载安装。如何调整浏览器的安全设置请参考: rubylong/WebReport/doc/setie.htm 3. 因素 3:客户端应该以管