Grid++Report web

来源:互联网 发布:三菱plc读取串口数据 编辑:程序博客网 时间:2024/06/10 16:26

首先到锐浪网站下载最新版本插件

http://www.rubylong.cn/Download.htm

安装好后 在安装目录下找到CreateControl.js以及griectl.cab  web开发只需此两个文件就可完成

将griectl.cab 拷贝至项目的某个目录下

在CreateControl.js中

找到var GridReportCodeBase = 'codebase="/jxc/griectl.cab#Version=5,6,12,508"'; ' 加粗地方改为griectl.cab 在项目中位置  jxc为我的项目名  griectl.cab 我是直接放到项目根目录下

配置好后 在未安装Grid++Report web插件的客户端访问会自动下载安装

 

jsp页面

<%@ page contentType="text/html; charset=utf-8"%>
<html>
<head>
<title>佳立信自定义打印格式 - <%=request.getAttribute("report")%></title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script src="/jxc/template/gridReport/js/CreateControl.js" language="javascript"></script>
<SCRIPT LANGUAGE="JavaScript" FOR="ReportDesigner" EVENT="SaveReport()">
 //保存模板时所做的处理
    DefaultAction=false;
 var val = prompt("请输入名称",LoadReportURL.substring(LoadReportURL.lastIndexOf("/")+1,LoadReportURL.lastIndexOf(".")));
 if(val)
 {
  if(val!=null && ""!=val)
  {
   SaveReportURL="DesignReportSave.action?report="+val+".grf";
   DefaultAction=true;
  }
 }
</SCRIPT>
</head>
<body style="margin:0">
 <script language="javascript">
     var Report = "<%=request.getAttribute("report") %>";
     if (Report == "null")
   Report = "";
     else if (Report != "")
         Report = "/jxc/grf/"+Report;
         
     var Data = "<%=request.getAttribute("data") %>";
     if (Data == "null")
   Data = "";
     else if (Data != "")
         Data = "" + Data;
     CreateDesigner(Report, "DesignReportSave.action", Data);
 </script>
</body>
</html>

 

action中的方法

public String planPFormat() {
   report="1a.grf";
   data="gridGodownPrint.action?geOwner.id="+docId;
  return SUCCESS;
 }

 public String DesignReportSave() {
  if (report!=null && !"".equals(report)) {
   report = charCode.toGBK(report);
  }
  return SUCCESS;
 }

数据格式处理  

返回至GenXmlDateForCGDD.jsp页面

public String gridPrint() {
  items = new ArrayList<GodownEntry>();
  StringBuffer XmlText = new StringBuffer ("<xml>\n");
  boolean flag = true;
  try {
   if (geOwner!=null) {
    geOwner = geOwnerService.getGe_OwnerById(geOwner.getId());
    items = godownEntryService.getAllGodown(" as g where g.code='"+ geOwner.getCode() + "' order by g.id asc");
    for (GodownEntry pro : items) {
      XmlText.append("<row>");
      XmlText.append("<code>"+geOwner.getCode()+"</code><customerName>"+geOwner.getSupplier().getSupplierName()+"</customerName><createTime>"+geOwner.getCreateTime()+"</createTime>" +
        "<depotName>"+geOwner.getDepot().getDepotName()+"</depotName><departName>"+geOwner.getDepartment().getName()+"</departName><remark>"+geOwner.getRemark()+"</remark>");
               XmlText.append("<managerName>"+geOwner.getManagerName()+"</managerName><createrName>"+geOwner.getCreatorName()+"</createrName>" +
                 "<materielName>"+pro.getMateriel().getMaterielName()+"</materielName><type>"+pro.getMateriel().getType()+"</type><unit>"+pro.getUnit()+"</unit>" +
                   "<color>"+pro.getColor()+"</color><mAmount>"+pro.getAmount()+"</mAmount>");
               XmlText.append("<price>"+pro.getPrice()+"</price><discount>"+String.valueOf(Float.valueOf(pro.getDiscount()) / 100)+"</discount>" +
                 "<ratePrice>"+pro.getRatePrice()+"</ratePrice><rateSum>"+pro.getSum()+"</rateSum><amount>"+geOwner.getTotalAmount()+"</amount><sum>"+geOwner.getSum()+"</sum>");
            XmlText.append("</row>\n");
    }
   }
   else {
    flag=false;
   }
  } catch (Exception e) {
   flag=false;
  }
  if (!flag) {
    XmlText.append("<row>");
    XmlText.append("<code></code><customerName></customerName><createTime></createTime><depotName></depotName><departName></departName><remark></remark>");
             XmlText.append("<managerName></managerName><createrName></createrName><materielName></materielName><type></type><unit></unit><color></color><mAmount></mAmount>");
             XmlText.append("<price></price><discount></discount><ratePrice></ratePrice><rateSum></rateSum><amount></amount><sum></sum>");
          XmlText.append("</row>\n");
  }
   XmlText.append("</xml>\n");
   request.setAttribute("XmlText", XmlText.toString());
  return SUCCESS;
 }

 

GenXmlDateForCGDD.jsp

<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="javax.servlet.jsp.JspWriter"%>
<%@ page import="javax.servlet.http.HttpServletResponse"%>
<%@ page import="java.util.zip.DeflaterOutputStream"%>
<%@ page import="java.lang.*, java.io.*, java.sql.*, java.util.*"%>
<%
        try
        {
            
         Object XmlText = request.getAttribute("XmlText");
            PrintWriter pw = response.getWriter();
            pw.print(XmlText);
            pw.close();  //终止后续不必要内容输出
        }
        catch(Exception e)
        {
            //output error message
            PrintWriter pw = response.getWriter();
            pw.print(e.toString());
        }

%>

此处数据字段名在action数据处理格式中一定要有 

 

这样就可以随心设置自己想要打印的格式了

 

原创粉丝点击