打印gridview

今天公司让做一个打印功能,就是把gridview中的内容打印出来,再网上查了好多方法,最后决定把gridview包含到一个div中,然后将div的html提交到另一个页面,最终打印这个页面.

打印指定内容:
 

< html >
< head >
< script  type ="text/javascript"  language ="javascript" >
function printPage() {
var newWin = window.open('printer','','');
var titleHTML = document.getElementById("printdiv").innerHTML;
newWin.document.write(titleHTML);
newWin.document.location.reload();
newWin.print();

newWin.close();
}

</ script >
</ head >
< body >
< div  id ="printdiv" >
 
< table  class ="sontable"  cellspacing ="0"  cellpadding ="0"  style ="width: 13%" >
                            
< tr >
                                
< td  style ="width: 700px; height: 161px" >
                                   
< asp:GridView  ID ="GridData"   runat ="server"  CellPadding ="3"  CellSpacing ="0"   BorderWidth ="1px"  BackColor ="LightSteelBlue"  BorderColor ="White"  BorderStyle ="None"  Font-Size ="12px"  Width ="543px"  Height ="20px"   OnRowDataBound ="GridData_RowDataBound" >
                                    
< RowStyle  BackColor ="GhostWhite"  BorderColor ="#006699"   />
                                        
< SelectedRowStyle  BackColor ="#738A9C"  Font-Bold ="True"  ForeColor ="White"  Wrap ="True"   />
                                        
< HeaderStyle  Height ="25px"  BackColor ="#006699"  Font-Bold ="True"  ForeColor ="White"  HorizontalAlign ="Center"  CssClass ="Freezing" />
                                
</ asp:GridView >                                      
                                
</ td >
                            
</ tr >
                        
</ table >
</ div >
< href ="javascript:;"  onclick ="printPage()" > 打印 </ a >
</ body >
</ html >

代码就是这样的.

第二种方法是,先将页面上的除了你要打印的标签外隐藏,接着执行打印,在打印后将页面上的标签全部显示

代码如下:

function printer()
{
  
 beforeprint();
 window.focus();
 window.print()
 afterprint();
}


function beforeprint()
{

 
for(i = 0; i < document.all.length; i++)
 
{
 
    
if ((document.all(i).id.indexOf("div_table_")!=-1&& document.all(i).tagName=="TABLE")

//其中"div_table_"检测你要打印的标签ID
    {
     document.all(i).style.display
="none";
    }

 }

}


function afterprint()
{

 
for(i = 0; i < document.all.length; i++)
 
{
    
if ((document.all(i).id.indexOf("div_table_")!=-1&& document.all(i).tagName=="TABLE")
    
{
      document.all(i).style.display
="block";
    }

 }

}


调用printer()就可以了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值