原创  ASP.NET学习笔记(20081023)----给Reportviewer的ToolBar上加上打印按钮 收藏

废话不说,希望看客能理解。

步骤一,准备脚本文件ReportView.js,内容如下:

function GetReportViewContentFrame(objWindow,strReportViewerId)
{
    var frmContent=null;    //报表内容区对象的FRAME对象
    var strFrameId="ReportFrame" + strReportViewerId ;  //asp.net自动生成的iframe 的id为:ReportFrame+报表控件id
    try
    {
        frmContent=window.frames[strFrameId].frames["report"];  //报表内容框架的id为report
    }
    catch(e)
    {
    }
    return frmContent;
}


function PrintReportView(objWindow,strReportViewerId)
{
    var frmContent=GetReportViewContentFrame(objWindow,strReportViewerId);
    if(frmContent!=null && frmContent!=undefined)
    {
        frmContent.focus();
        frmContent.print();
    }
    else
    {
        alert("在获取报表内容时失败,无法通过程序打印。如果要手工打印,请鼠标右键点击报表内容区域,然后选择菜单中的打印项。");
    }
}

步骤二,在目标处使用脚本, 页面代码如下:

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>打印</title>
    <script src="../js/ReportView.js" type="text/javascript"></script>
    <script language="javascript" type="text/javascript">
    <!--
        //打印报表
        function PrintReport()
        {
            PrintReportView(window,"ReportViewer1");
            return false;
        }
    //-->
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div style="text-align: center">
        <rsweb:reportviewer  id="ReportViewer1" runat="server" ></rsweb:reportviewer>
    </div>
      <div style="z-index: 999; left: 150px; width: 19px; position: absolute; top: 19px; height: 20px">
       <asp:ImageButton ID="ImageButton1"  runat="server" ImageUrl="~/Images/print.png"  OnClientClick="return PrintReport();" Width="13px"/>
    </div>
    </form>
</body>
</html>

步骤三,移动打印按钮到工具栏中合适位置,OK,完工。

发表于 @ 2008年10月23日 09:24:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇: ASP.NET学习笔记(20081020)----AspNetPager快速入门 | 新一篇:vc笔记(20081106)----使用tabcontrol的几个步骤

  • 发表评论
  • 评论内容:
  •  
Copyright © zhangxuyu1118
Powered by CSDN Blog