0

以下に示すように、機能しているJavaScript関数があります。注-行を変更しました(インターネットの例から)

WinPrint.document.write(printContent.innerHTML);

WinPrint.document.write(printContent.outerHTML);

私はそれをすることになっているとは思わないが、innerhtmlではグリッドはまったくフォーマットされていなかったが、outerhtmlの値では問題なかった...

要約すると

  1. なぜ私はすべての例が示すように innerhtml を使用できないのですか - 私のコードのどこかにバグがあるに違いありません

ありがとう、ダモ

Javascript

    <script type="text/javascript">
    function PrintGridData(GridToPrint) {

        var printContent = document.getElementById(GridToPrint);
        var windowUrl = 'about:blank';
        var UserLoggedIn = $("#lblUser").text()

        var now = new Date();
        var strDateTime = [[AddZero(now.getDate()), AddZero(now.getMonth() + 1), now.getFullYear()].join("/"), [AddZero(now.getHours()), AddZero(now.getMinutes())].join(":"), now.getHours() >= 12 ? "PM" : "AM"].join(" ");

        var windowName = 'Report';
        var AuditPrintDetail = 'Report ' + UserLoggedIn + " "  + strDateTime;


        var WinPrint = window.open(windowUrl, windowName, 'left=300,top=300,right=500,bottom=500,width=1000,height=500');
        WinPrint.document.write('<' + 'html' + '><head><link href="cssreference" rel="stylesheet" type="text/css" /><link href="assets/css/Main.css" rel="stylesheet" type="text/css" />    <title>' + AuditPrintDetail + '</title> </head><' + 'body  style="background:none !important"' + '>');
        WinPrint.document.write(printContent.outerHTML);
        WinPrint.document.write('<' + '/body' + '><' + '/html' + '>');
        WinPrint.document.close();
        WinPrint.focus();
        WinPrint.print();
        WinPrint.close();

    }


    function AddZero(num) {
        return (num >= 0 && num < 10) ? "0" + num : num + "";

    }
4

1 に答える 1

1
function printItn() {
        //you can put your contentID which is you want to print.

        var printContent = document.getElementById('<%= pnlForm.ClientID %>');
        var windowUrl = 'about:blank';
        var uniqueName = new Date();
        var windowName = 'Print' + uniqueName.getTime();

        //  you should add all css refrence for your Gridview. something like.

        var WinPrint= window.open(windowUrl,windowName,'left=300,top=300,right=500,bottom=500,width=1000,height=500');WinPrint.document.write('<'+'html'+'><head><link href="cssreference" rel="stylesheet" type="text/css" /><link href="gridviewcssrefrence" rel="stylesheet" type="text/css" /></head><'+'body style="background:none !important"'+'>');

        WinPrint.document.write(printContent.innerHTML); 
        WinPrint.document.write('<'+'/body'+'><'+'/html'+'>');
        WinPrint.document.close();
        WinPrint.focus();
        WinPrint.print();
        WinPrint.close();
        }

ここから参照してください...クリックしてディスカッションを表示します

また、クライアント側から gridview データを出力するためのサンプル コード javascript を含む完全な例も参照してください。

于 2012-10-21T16:43:46.750 に答える