2012-10-29 46 views
0

我正在打印的是包含在面板内的asp.net GridView中 - 它在IE完美asp.net gridview的印刷

  1. 在Opera中出现12.02将打印出我的主要形式,而不是打印页面?你知道这是为什么吗?
  2. 在Mozilla Firefox 16.0.2中,它只在打印预览中加载一页并打印出一页?你知道这是为什么吗?

我假设这个问题是在我的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> 
+0

你居然使用JavaScript自定义代码打印出来。你能给我们一些参考你从哪里得到这个?你有没有得到任何错误? – Aristos

+0

打印除opera以外的所有内容= http://www.dotnetfunda.com/codes/code3375-print-gridview-data-in-aspnet-using-javascript.aspx。在opera中打印= http://www.webdeveloper.com/forum/showthread.php?105277.html - 我没有得到一个错误 - 正在打印main.aspx页面而不是页面'about:blank' – user1438082

回答

0

在window.onload = window.print();应该是window.onload = window.print; 另外我的CSS有溢出:隐藏;其中歌剧和Mozilla不喜欢,所以我现在删除了这些

其工作确定 感谢 DAMO