ATGrid + JSP + Javascript + XML 开发Web控件打印

 ATGrid  是国内的一款提供WEB打印解决方案的插件,最近由于项目需要,花了几天研究了下,并用这个插件实现了WEB打印,方案如下~ 因为是摸索,希望大家多多指教~


插件的下载

 ATGrid控件下载地址: http://www.etcell.com/ATGrid/ATGrid.dll
 ATGrid控件WEB运行包下载地址: http://www.etcell.com/ATGrid/ATGrid.cab
下载包中包括 winTable 报表模板设计器,ATGrid发行包,ATGrid帮助文档,还有一些例子。


插件安装

安装完系统后,会在安装目录下存在JavaLib文件夹,此文件夹下存在两个类文件,
分别为:ATGrid.jar和JavaATGrid.dll

设置方法如下:
(1)JavaATGrid.dll文件复制到System32文件夹下;
(2)把ATGrid.jar文件复制到jdk安装目录下的lib目录下;
(3)把ATGrid.jar文件复制到Tomcat安装目录下的common/lib目录下;
(4)环境变量->系统变量->在变量CLASSPATH的值中添加
“.;%JAVA_HOME%/lib/ATGrid.jar;”

(5)配置tomcat或者weblogic服务器的web.xml,便于能让xxx.et文件能下载
在web.xml文件中增加下面的内容:
<mime-mapping>
<extension>et</extension>
<mime-type>et</mime-type>
</mime-mapping>

(6)重启WEB服务器

下面开始设计

ATGrid WEB 开发主要以以下步骤,首先用winTable设计报表模板,然后在网页中用<object>标签引入模板,在用JS输出XML将数据注入模板。
下面以我开发时的例子来说明。
项目案例 : a.jsp中有一个FORM表单,里面包含一个table表格,做成的效果就是点击a.jsp下面的打印,然后弹出网页b.jsp,运行ATGrid插件,然后在b.jsp进行打印。
说明:当前的系统是基于struts 2.0 的
下面给出代码:
在a.jsp中,涉及到对一个表单的二次提交,那么“打印”按钮的方法如下

   < INPUT  class =button  type ="button"  value ="    打印    "   onclick ="toPrint();" >

相应的javascript代码为

< script language = " javascript " >
function  toPrint() {
    window.document.myform.target
="_blank";
    window.document.myform.action
="SCQY_HTZXDGL_ImpleSheetSearchDetailPrint.action";
    window.document.myform.submit();
    window.document.myform.target
="_self";
    window.document.myform.action
="SCQY_HTZXDGL_ImpleGoodsValidity.action";
}

</ script >


这个JS中,将打开一个新页面,并将FORM中的内容提交的action中,这个action再定位到b.jsp,也就是打印页面。下面是打印页面

首先引入控件

< object  classid ="clsid:D0CB6A0C-E656-4BF4-BD2D-6AE5EC183D7C"  id ="ATGrid1"  width ="100%"  height ="95%" >
  
< param  name ="FileName"  value ="impleSheet.eT" >
  
< param  name ="Ruler"  value ="true" >
</ object >


另外,我将a.jsp中的form的全部内容都传递到b.jsp,并设置为隐藏,这样就可以在javascript中引用这些动态的数据。(因为控件活动在浏览器端,所有控制控件的代码都必须写到javascript中)
下面是b.jsp中的js代码,用于输出XML,并将xml中定义的数据添加到控件模板

< script language = ' JavaScript ' >  

var  appCoName  =  document.all.appCoName.value;
var  headApprover  =  document.all.headApprover.value;
var  coSymbol  =  document.all.coSymbol.value;
var  LXConformer  =  document.all.LXConformer.value;
var  date  =  document.all.date.value;

var  strXML
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ATGrid报表控件/WEB插件[专业版],对EtCell进行了进行了全面的改革,将会彻彻底底的解决你的报表问题,让你开发达到从未有过的轻松和喜悦...... <br>是专业的报表工具,提供了丰富的报表分析方法,具有可视化的报表设计器WinTable,更好的支持WEB报表打印,连续打印、报表套打,对aspx.net、asp、Java报表、jsp、pphp提供了专门的类库,方便WEB报表开发人员进行快速开发.<br>支持的报表功能如下: <br>1、支持主从报表 <br>2、交叉报表 <br>3、支持分组报表:小计、汇总自由设置 <br>4、支持的套打报表,让套打简单灵活 <br>5、支持分组报表的每组打印控制 <br>6、支持连续打印,解决了票据打印的难题 <br>7、支持自定义报表 <br>8、支持MIS开发的各种开发工具:如VC、VB、Delphi、C++Bulider、InterDev <br>9、支持WEB开发,FrontPage、InterDev、ASP.NEt、C# <br>10、EtCell内置支持VBScript脚本包括事件 <br>11、在WEB上支持VBScript、JavaScript脚本 <br>12、支持URL连接 <br>13、支持的WEB服务器:NT的WEB服务器、Linux、Unix、WebLogic、TOMCAT、IIS; <br>14、在MIS开发中直接支持数据库,让程序开发更方便快捷<br>15、WEB插件和浏览器紧密融合,完全成为浏览器的一个分子!<br>16、一个页面安放多个ATGrid报表插件,再也不会出现其他控件的闪烁变动的效果!<br>17、完全支持XML,后台程序可以通过XML控制报表的每一部分!<br>18、让WEB开发变的更加简单,在WEB页[html]可以不用写一行代码.......<br>19、报表的单元格类型多大几十种,如:Text,Num,Button,Radio,CheckBox,Combox.....<br>20、不但实现报表展示功能,更重要突破了报表在线编辑功能........<br>21、和后端服务器程序的交互更加简单...............<br>22、可以把多个ATGrid控件的数据打印到一起,在也不用担心页眉和页脚问题......<br>功能多多,肯定会让你满意,不必再为选择报表控件发愁!!!<br>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值