2012-10-21 84 views
0

我有一个JavaScript函数,如下所示,正在工作。注 - 我做了更改线路(从互联网上的例子)asp gridview打印

WinPrint.document.write(printContent.innerHTML); 

WinPrint.document.write(printContent.outerHTML); 

我不认为我应该这样做,但与innerHTML的所有,但与价值格式化电网wasnt outerhtml还不错......

所以总结

  1. 为什么不能我使用innerHTML像所有的例子笑W - 必须是一个错误 在我的代码某处

感谢, 达摩

的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 + ""; 

    } 

回答

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(); 
     } 

参考它从这里... click to view discussion

并且还可以看到示例代码javascript to print gridview data from client-side的完整示例。