zoukankan      html  css  js  c++  java
  • EasyUiDatagrid 打印

    // strPrintName 打印任务名
    // printDatagrid 要打印的datagrid
    //title 表格标题
    function CreateFormPage(strPrintName, printDatagrid,title) {
        var tableString = '<table cellspacing="0" class="pb">';
        tableString+="<caption style='   font-size: 20px;  font-weight:  bold;'>"+title+"</caption>";
        var frozenColumns = printDatagrid.datagrid("options").frozenColumns;  // 得到frozenColumns对象
        var columns = printDatagrid.datagrid("options").columns;    // 得到columns对象
        var nameList = '';
    
        // 载入title
        if (typeof columns != 'undefined' && columns != '') {
            $(columns).each(function (index) {
                tableString += '
    <tr>';
                if (typeof frozenColumns != 'undefined' && typeof frozenColumns[index] != 'undefined') {
                    for (var i = 0; i < frozenColumns[index].length; ++i) {
                        if (!frozenColumns[index][i].hidden) {
                            tableString += '
    <th width="' + frozenColumns[index][i].width + '"';
                            if (typeof frozenColumns[index][i].rowspan != 'undefined' && frozenColumns[index][i].rowspan > 1) {
                                tableString += ' rowspan="' + frozenColumns[index][i].rowspan + '"';
                            }
                            if (typeof frozenColumns[index][i].colspan != 'undefined' && frozenColumns[index][i].colspan > 1) {
                                tableString += ' colspan="' + frozenColumns[index][i].colspan + '"';
                            }
                            if (typeof frozenColumns[index][i].field != 'undefined' && frozenColumns[index][i].field != '') {
                                nameList += ',{"f":"' + frozenColumns[index][i].field + '", "a":"' + frozenColumns[index][i].align + '"}';
                            }
                            tableString += '>' + frozenColumns[0][i].title + '</th>';
                        }
                    }
                }
                for (var i = 0; i < columns[index].length; ++i) {
                    if (!columns[index][i].hidden) {
                        tableString += '
    <th width="' + columns[index][i].width + '"';
                        if (typeof columns[index][i].rowspan != 'undefined' && columns[index][i].rowspan > 1) {
                            tableString += ' rowspan="' + columns[index][i].rowspan + '"';
                        }
                        if (typeof columns[index][i].colspan != 'undefined' && columns[index][i].colspan > 1) {
                            tableString += ' colspan="' + columns[index][i].colspan + '"';
                        }
                        if (typeof columns[index][i].field != 'undefined' && columns[index][i].field != '') {
                            nameList += ',{"f":"' + columns[index][i].field + '", "a":"' + columns[index][i].align + '"}';
                        }
                        tableString += '>' + columns[index][i].title + '</th>';
                    }
                }
                tableString += '
    </tr>';
            });
        }
        // 载入内容
        var rows = printDatagrid.datagrid("getRows"); // 这段代码是获取当前页的所有行
        var nl = eval('([' + nameList.substring(1) + '])');
        for (var i = 0; i < rows.length; ++i) {
            tableString += '
    <tr>';
            $(nl).each(function (j) {
                var e = nl[j].f.lastIndexOf('_0');
    
                tableString += '
    <td';
                if (nl[j].a != 'undefined' && nl[j].a != '') {
                    tableString += ' style="text-align:' + nl[j].a + ';"';
                }
                tableString += '>';
                if (e + 2 == nl[j].f.length) {
                    tableString += rows[i][nl[j].f.substring(0, e)];
                }
                else{
                    if(rows[i][nl[j].f]==undefined){
                        tableString+="";
                    }else{
                        tableString += rows[i][nl[j].f];
                    }
                }
    
                tableString += '</td>';
            });
            tableString += '
    </tr>';
        }
        tableString += '
    </table>';
        sessionStorage.setItem("sent", tableString);
        window.open("/report/printtest.html", strPrintName,
            "location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;");
    }

    print.html

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta charset="UTF-8">
        <title>数据打印</title>
        <style type="text/css">
            body{background:white;margin:0px;padding:0px;font-size:13px;text-align:left;}
            .pb{font-size:13px;border-collapse:collapse;}
            .pb th{font-weight:bold;text-align:center;border:1px solid #333333;padding:2px;}
            .pb td{border:1px solid #333333;padding:2px;}
        </style>
        <script type="text/javascript">
            document.write(sessionStorage.getItem("sent"));
            window.print();
            sessionStorage.clear()
        </script>
    </head>
    <body>
    
    </body>
    </html>

    直接调用 
    CreateFormPage

  • 相关阅读:
    python定时任务模块APScheduler
    from urllib import parse模块的使用
    go操作空指针导致supervisor进程服务挂机的坑
    docker快速安装rabbitmq
    利用redis的bitmap实现用户签到功能
    linux安装splunk-enterprise
    python封装email模块
    golang模块viper读取配置文件
    Tangram: Optimized Coarse-Grained Dataflow for Scalable NN Accelerators 阅读笔记
    将博客搬至CSDN
  • 原文地址:https://www.cnblogs.com/lang2017/p/8638057.html
Copyright © 2011-2022 走看看