<%@ page language="java"pageEncoding="UTF-8"%>

<object id="WebBrowser"classid="ClSID:8856F961-340A-11D0-A96B-00C04Fd705A2"width="0" height="0">

</object>

<script language="javascript"type="text/javascript">

var tableString = "<linkrel='stylesheet' type='text/css' href='Lodop/print.css' /><tablecellspacing='0;' id='PrintBody'>";

function doPrint()

{

tableString += "<scriptlanguage='javascript'>window.print();</s"+"cript>";

// tableString.insertAdjacentHTML("beforeBegin","<scriptlanguage='javascript'>window.print();</s"+"cript>")

document.open('','','height=500,width=611,scrollbars=yes,status =yes');

document.write(tableString);

document.close();

}

// strPrintName 打印任务名

// printDatagrid 要打印的datagrid

function CreateFormPage(strPrintName, printDatagrid) {

var frozenColumns = printDatagrid.datagrid("options").frozenColumns;  // 得到frozenColumns对象

var columns = printDatagrid.datagrid("options").columns;    // 得到columns对象

// 载入title

tableString = tableString + "\n<tr>";

if(frozenColumns != undefined && frozenColumns != '') {

for(var i = 0;i<frozenColumns[0].length; i++) {

if(frozenColumns[0][i].hidden != true) {

tableString = tableString + "\n<th width= '" +frozenColumns[0][i].width  +"'>" + frozenColumns[0][i].title + "</th>";

}

}

}

if(columns != undefined && columns != '') {

for(var i = 0;i<columns[0].length; i++) {

if(columns[0][i].hidden != true) {

tableString = tableString + "\n<th width= '" +columns[0][i].width  +"'>" + columns[0][i].title + "</th>";

}

}

}

tableString = tableString + "\n</tr>";

// 载入内容

var rows = printDatagrid.datagrid("getRows"); // 这段代码是获取当前页的所有行。

for(var j = 0; j <rows.length;j++) {

tableString = tableString + "\n<tr>";

if(frozenColumns != undefined && frozenColumns != '') {

for(var i = 0;i<frozenColumns[0].length; i++) {

if(frozenColumns[0][i].hidden != true) {

tableString = tableString + "\n<td >" + rows[j][frozenColumns[0][i].field] + "</td>";

}

}

}

if(columns != undefined && columns != '') {

for(var i = 0;i<columns[0].length; i++) {

if(columns[0][i].hidden != true) {

tableString = tableString + "\n<td >" + rows[j][columns[0][i].field] + "</td>";

}

}

}

tableString = tableString + "\n</tr>";

}

tableString = tableString + "\n</table>";

doPrint();

}

</script>

使用方法: jsp页面中

<jsp:include page="../../../Lodop/print2.jsp"></jsp:include>

Js页面中

function prn_preview() {

CreateFormPage("核销账款明细", stockDocumentDatagrid);

};

第一个参数是单据名称; 第二个是要打印的datagrid对象

easyui基于web的打印实现 .的更多相关文章

  1. 基于MVC4+EasyUI的Web开发框架经验总结(16)--使用云打印控件C-Lodop打印页面或套打报关运单信息

    在最新的MVC4+EasyUI的Web开发框架里面,我整合了关于网购运单处理的一个模块,其中整合了客户导单.运单合并.到货扫描.扣仓.出仓.查询等各个模块的操作,里面涉及到一些运单套打的操作,不过由于 ...

  2. 基于MVC4+EasyUI的Web开发框架经验总结(8)--实现Office文档的预览

    在博客园很多文章里面,曾经有一些介绍Office文档预览查看操作的,有些通过转为PDF进行查看,有些通过把它转换为Flash进行查看,但是过程都是曲线救国,真正能够简洁方便的实现Office文档的预览 ...

  3. 基于MVC4+EasyUI的Web开发框架经验总结(4)--使用图表控件Highcharts

    在我们做各种应用的时候,我们可能都会使用到图表统计,以前接触过一些不同的图表控件,在无意中发现了图表控件Highcharts,其强大的功能和丰富的互动效果,令人难以忘怀.本篇主要介绍在Web开发中使用 ...

  4. 基于MVC4+EasyUI的Web开发框架形成之旅--框架总体界面介绍

    在前面介绍了一些关于最新基于MVC4+EasyUI的Web开发框架文章,虽然Web开发框架的相关技术文章会随着技术的探讨一直写下去,不过这个系列的文章,到这里做一个总结,展示一下整体基于MVC4+Ea ...

  5. [转载]基于MVC4+EasyUI的Web开发框架经验总结(8)--实现Office文档的预览

    在博客园很多文章里面,曾经有一些介绍Office文档预览查看操作的,有些通过转为PDF进行查看,有些通过把它转换为Flash进行查看,但是过程都是曲线救国,真正能够简洁方便的实现Office文档的预览 ...

  6. 基于MVC4+EasyUI的Web开发框架形成之旅(5)--框架总体界面介绍

    在前面介绍了一些关于最新基于MVC4+EasyUI的Web开发框架文章,虽然Web开发框架的相关技术文章会随着技术的探讨一直写下去,不过这个系列的文章,到这里做一个总结,展示一下整体基于MVC4+Ea ...

  7. (转)基于MVC4+EasyUI的Web开发框架经验总结(8)--实现Office文档的预览

    http://www.cnblogs.com/wuhuacong/p/3871991.html 基于MVC4+EasyUI的Web开发框架经验总结(8)--实现Office文档的预览 在博客园很多文章 ...

  8. (转)基于MVC4+EasyUI的Web开发框架形成之旅--框架总体界面介绍

    http://www.cnblogs.com/wuhuacong/p/3344096.html 在前面介绍了一些关于最新基于MVC4+EasyUI的Web开发框架文章,虽然Web开发框架的相关技术文章 ...

  9. 基于MVC4+EasyUI的Web开发框架经验总结

    http://www.cnblogs.com/wuhuacong/p/4093778.html 在很多Web系统中,一般都可能提供一些图标的选择,方便配置按钮,菜单等界面元素的图 标,从而是Web系统 ...

随机推荐

  1. SVN同步时报错:“Previous operation has not finished; run 'cleanup' if it was interrupted”

    SVN同步时报错:“Previous operation has not finished; run 'cleanup' if it was interrupted” 这大概是SVN之前的操作没有完成 ...

  2. Atom-同步设置

    Atom-同步设置 参考博客 CNBLOG First 首先呢,如果我们想要通过Atom的设置和插件的话,我们需要这个一个Atom插件. PS: 因为Gist被墙的原因,所以需要***才行,我挂了ss ...

  3. react比较入门的小demo

    什么是jsx?    JSX是JavaScript  XML 这两个单词的缩写,xml和html非常类似,简单来说可以把它理解成使用各种各样的标签,大家可以自行 百度.所以jsx就是在javascri ...

  4. [原创]互联网公司App测试流程

    [原创]互联网公司App测试流程 一款App的发布上线,离不开充分的测试工作,App测试与pc软件测试二者大体流程相同,但也有所区别,其中由于App测试有其固有的特性,所以在测试时流程会有不同,具体我 ...

  5. STM32 Timer : Base Timer, Input Capture, PWM, Output Compare

    http://www.cs.indiana.edu/~geobrown/book.pdf An example of a basic timer is illustrated in Figure 10 ...

  6. STM32F4 Alternate function mapping

    #define GPIO_AF0_MCO // MCO (MCO1 and MCO2) Alternate Function mapping #define GPIO_AF0_RTC_50Hz // ...

  7. mybatis 详解

    http://www.cnblogs.com/ysocean/category/1007230.html

  8. hdu 2546 饭卡(背包)

      设饭卡余额为total 此题经分析 可以得出:要求选出一些饭菜 时消费量尽量接近total-5元 然后再买一个饭菜 以达到透支... 可以证明 最后买的那个饭菜是饭菜中价值最大的. 证明 设a1 ...

  9. Revit API射线法读取空间中相交的元素

    Revit API提供根据射线来寻找经过的元素.方法是固定模式,没什么好说.关键代码:doc.FindReferencesWithContextByDirection(ptStart, (ptEnd  ...

  10. WIN8系统中 任务管理器 性能栏 显示CPU利用率(已暂停)怎么回事?

    解决办法: 点上方的 查看--更新速度--普通