小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

EasyUI的DataGrid 打印導(dǎo)出

 小丑g22xft6chp 2016-09-15

一直在Winform和WPF的項(xiàng)目,偶爾接觸Web都是網(wǎng)上下個(gè)模板修修改改就成了,學(xué)習(xí)的不太深入。

今日遇到一個(gè)打印導(dǎo)出datagrid的問(wèn)題,做桌面項(xiàng)目的打印導(dǎo)出通常我都是直接將數(shù)據(jù)源拿過(guò)來(lái)放到我的打印導(dǎo)出模塊直接就出來(lái)了,但是在web上沒(méi)有積累,特別是用了EasyUI的DataGrid,一時(shí)不知道如何是好。

遂度娘一翻找到如下解決方案:

1.打印部分

  新增print.js

復(fù)制代碼
// strPrintName 打印任務(wù)名
// printDatagrid 要打印的datagrid
function CreateFormPage(strPrintName, printDatagrid) {
    var tableString = '<table cellspacing="0" class="pb">';
    var frozenColumns = printDatagrid.datagrid("options").frozenColumns;  // 得到frozenColumns對(duì)象
    var columns = printDatagrid.datagrid("options").columns;    // 得到columns對(duì)象
    var nameList = '';

    // 載入title
    if (typeof columns != 'undefined' && columns != '') {
        $(columns).each(function (index) {
            tableString += '\n<tr>';
            if (typeof frozenColumns != 'undefined' && typeof frozenColumns[index] != 'undefined') {
                for (var i = 0; i < frozenColumns[index].length; ++i) {
                    if (!frozenColumns[index][i].hidden) {
                        tableString += '\n<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 += '\n<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 += '\n</tr>';
        });
    }
    // 載入內(nèi)容
    var rows = printDatagrid.datagrid("getRows"); // 這段代碼是獲取當(dāng)前頁(yè)的所有行
    var nl = eval('([' + nameList.substring(1) + '])');
    for (var i = 0; i < rows.length; ++i) {
        tableString += '\n<tr>';
        $(nl).each(function (j) {
            var e = nl[j].f.lastIndexOf('_0');

            tableString += '\n<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
                tableString += rows[i][nl[j].f];
            tableString += '</td>';
        });
        tableString += '\n</tr>';
    }
    tableString += '\n</table>'; 
    window.showModalDialog("print.htm", tableString,
    "location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;");
}
復(fù)制代碼

  新增print.htm

View Code

  頁(yè)面引用print.js并調(diào)用

CreateFormPage("datagrid",$("#dg"));

2.導(dǎo)出部分

  新增export.js

View Code

  新增export.aspx后臺(tái)

View Code

  export.aspx前臺(tái)僅保留

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="export.aspx.cs" Inherits="export" %>

  頁(yè)面引用export.js并調(diào)用

Export('outputexcel', $('#dg'));

到此我的打印導(dǎo)出功能已經(jīng)完成,但是有個(gè)問(wèn)題EasyUI1.3.4不支持IE8,這腫么行!果斷換到1.3.2版本測(cè)試沒(méi)有問(wèn)題。做web沒(méi)多久深感IE瀏覽器兼容性問(wèn)題太煩,真是各家做各家的產(chǎn)品!讓人不敢踏入Web界啊。

第一次自己寫博客,感謝大家來(lái)捧場(chǎng),謝謝

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多