0

パネル内に含まれているasp.netでグリッドビューを印刷しています-IEで完全に機能します

  1. Opera 12.02では、印刷ページではなくメインフォームを印刷しているように見えますか?これがなぜなのか知っていますか。
  2. Mozilla Firefox 16.0.2では、印刷プレビューに1ページしか読み込まれず、その1ページを印刷しますか?これがなぜなのか知っていますか?

問題はJavaScriptにあると思います。必要に応じてマークアップを投稿できますが、必要ないことを願っています。

ありがとう Damojavascript

<script type="text/javascript">
        function PrintGridData(GridToPrint, PanelName) {
            try {
                var Grid = document.getElementById(GridToPrint);
                var printContent = document.getElementById(PanelName);
                //alert(printContent);
                if (Grid)  // See if the Grid Exists First
                {

                    if (Grid.rows.length > 0) { // See if the Grid contains any rows
                        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 Database = 'ProductionDatabase';
                        var windowName = 'Report';
                        var AuditPrintDetailEverypage =  UserLoggedIn + ' Time : ' + strDateTime ;
                        var AuditPrintDetailLastPage = '      System Report ' + ' Source Database: ';
                        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="assets/css/Print.css" rel="stylesheet" type="text/css" /><title>' + AuditPrintDetailEverypage + '</title> </head><' + 'body  style="background:none !important"' + '>');
                        WinPrint.document.write(printContent.innerHTML);
                        WinPrint.document.write('          ' + AuditPrintDetailLastPage);
                        WinPrint.document.write('<' + '/body' + '><' + '/html' + '>');
                        WinPrint.document.close();
                        //alert(printContent.innerHTML);
                        //alert(WinPrint.document);
                        if (window.opera) {
                        //alert('opera browser detected')
                           window.onload = window.print();
                            //window.onload = WinPrint.print();
                            //WinPrint.close();
                        }
                        else {

                            WinPrint.focus();
                            WinPrint.print();
                            WinPrint.close();
                        }
                    }
                    else { // No Results to print 
                        document.getElementById('lblErrorCode').innerHTML = '-1';
                        document.getElementById('lblErrorMessage').innerHTML = 'You have no Results to print. Please run a report.';
                        document.getElementById('lblExMessage').innerHTML = '-1';
                        var modal = $find("modalPopupExtenderError");
                        modal.show();
                    }
                }
                else { // No Grid to print 
                    document.getElementById('lblErrorCode').innerHTML = '-1';
                    document.getElementById('lblErrorMessage').innerHTML = 'You have no Grid to print. Please run a report.';
                    document.getElementById('lblExMessage').innerHTML = '-1';
                    var modal = $find("modalPopupExtenderError");
                    modal.show();
                    return;
                }

            }
            catch (err) {
                //alert(err);
                document.getElementById('lblErrorCode').innerHTML = '-1';
                document.getElementById('lblErrorMessage').innerHTML = err;
                document.getElementById('lblExMessage').innerHTML = '-1';
                var modal = $find("modalPopupExtenderError");
                modal.show();           
                return;
            }
        }
        function AddZero(num) {
            try {
                return (num >= 0 && num < 10) ? "0" + num : num + "";
            }
            catch (err) {
                //alert(err);
                document.getElementById('lblErrorCode').innerHTML = '-1';
                document.getElementById('lblErrorMessage').innerHTML = err;
                document.getElementById('lblExMessage').innerHTML = '-1';
                var modal = $find("modalPopupExtenderError");
                modal.show();
                return;
            }
        }
    </script>
4

1 に答える 1

0

window.onload = window.print(); window.onload = window.print; である必要があります。また、私のCSSにはoverflow: hidden;がありました。どの Opera と Mozilla が嫌いなので、これらを削除しました

今は大丈夫ですありがとうdamo

于 2012-10-31T21:18:16.573 に答える