zoukankan      html  css  js  c++  java
  • easyui基于web的打印实现 .

    <%@ 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 + " <tr>";

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

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

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

                  tableString = tableString + " <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 + " <th width= '" +columns[0][i].width  +"'>" + columns[0][i].title + "</th>";

               }

           }

        }

        tableString = tableString + " </tr>";

     

        // 载入内容

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

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

           tableString = tableString + " <tr>";

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

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

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

                      tableString = tableString + " <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 + " <td >" + rows[j][columns[0][i].field] + "</td>";

                  }

               }

           }

           tableString = tableString + " </tr>";

        }

        tableString = tableString + " </table>";

        doPrint();

    }

     

    </script>

     

     

     

     

    使用方法: jsp页面中

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

    Js页面中

    function prn_preview() {

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

    };

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

  • 相关阅读:
    工作中的体悟和经验
    java中List的toArray方法
    Arthas干货总结
    内部类访问外部类的方法
    PriorityBlockingQueue 源码分析
    ArrayBlockingQueue 源码解析
    Kafka 读书笔记--日志索引
    Mybatis源码解析之--谈谈${}
    Mybatis源码分析之--浅析ResultSetHandler
    linux命令--ll
  • 原文地址:https://www.cnblogs.com/rainbowzc/p/3613737.html
Copyright © 2011-2022 走看看