asp.net gridview打印

时间:2012-10-29 21:37:54

标签: c# javascript asp.net printing-web-page

我在asp.net中打印一个包含在面板中的gridview - 它在IE中完美地工作

  1. 在Opera 12.02中,它似乎是打印出我的主要表单而不是打印页面?你知道为什么吗?
  2. 在Mozilla firefox 16.0.2中,它只在打印预览中加载一页并打印一页?你知道为什么会这样吗?
  3. 我假设问题出在我的javascript中 - 如果需要我可以发布标记,但希望不需要。

    感谢 达摩 的的javascript

    <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>
    

1 个答案:

答案 0 :(得分:0)

window.onload = window.print();应该是window.onload = window.print; 我的css也有溢出:隐藏;哪个歌剧和莫齐拉不喜欢所以我删除了这些

现在它工作正常 谢谢 DAMO