默认的水晶报表打印按钮、翻页按钮太小,并且样式不好调整,考虑自己做一个按钮,然后调用水晶报表的按钮事件。

在实际操作中发现可以在.net按钮的服务器端事件中调用翻页方法;

CrystalReportViewer1.ShowPrevious();  //上一页CrystalReportViewer1.ShowFirst();     //第一页CrystalReportViewer1.ShowNext();      //下一页CrystalReportViewer1.ShowLast();      //最后一页

然而没有发现打印方法。在CS的水晶报表中有打印方法,但是在BS中没有该方法。


CrystalReportViewer1.ShowPrint();  //CS端的打印功能。

找了很多资料都没有发现BS端打印方法。

最后想起用JS直接调用水晶报表的按钮事件。用Chrome追踪源码发现水晶报表的几个按钮ID是固定格式。

直接查找到该按钮然后调用click事件就可以实现该功能。

HTML代码

<div>
    <input id="Button2" type="button" value="上一页" onclick="return doReportButon('prevPg');" />
    <input id="Button3" type="button" value="下一页" onclick="return doReportButon('nextPg');" />
    <input id="Button5" type="button" value=" 打印 " onclick="return doReportButon('print');" />
</div> 

JS代码,

<script language="javascript" type="text/javascript">
//<![CDATA[
    //js调用水晶报表按钮点击事件
    function doReportButon(btnName) {
        var buttonName = "IconImg_CrystalReportViewer1_toptoolbar_" + btnName;
        var buttonPrint = document.getElementById(buttonName);
        buttonPrint.click();
        return false;
    }
    $(function ($) {
        $("#CrystalReportViewer1_toptoolbar_print").hide();
        $("#CrystalReportViewer1_toptoolbar_prevPg").hide();
        $("#CrystalReportViewer1_toptoolbar_nextPg").hide();
        $("#CrystalReportViewer1_toptoolbar_export").hide();
    });
    //]]>
</script>

注意:水晶报表的按钮图标是由Table嵌套的,
   因此图标的名称前缀有一个IconImg_CrystalReportViewer1_toptoolbar_  ,它所对应的Table的ID为前缀是:CrystalReportViewer1_toptoolbar。在调用按钮事件时必须水晶报表允许产生该按钮,在界面上隐藏它。否则水晶报表不会产出该按钮,并且找不到该按钮的事件。

JS调用水晶报表打印翻页按钮事件的更多相关文章

  1. 在web界面调用水晶报表导出文件时莫名错误

    原因是水晶报表未破解版有字段限制,不能超过90(具体个数没仔细测)个字段. 建议那些select *的朋友检查一下字段个数

  2. js调用ASP.NET打印代码

    第一步:添加下面的js <script type="text/javascript">           function printsetup() {        ...

  3. C#下水晶报表打印自定义纸张

    在VB6中,如果要自定义纸张很方便:  Rpt.PaperSize = crPaperUser  Rpt.SetUserPaperSize lZZG, lZZK 但在C#中却不行了,没有发现 SetU ...

  4. Web jquery表格组件 JQGrid 的使用 - 5.Pager翻页、搜索、格式化、自定义按钮

    系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件 ...

  5. webapp应用--模拟电子书翻页效果

    前言: 现在移动互联网发展火热,手机上网的用户越来越多,甚至大有超过pc访问的趋势.所以,用web程序做出仿原生效果的移动应用,也变得越来越流行了.这种程序也就是我们常说的单页应用程序,它也有一个英文 ...

  6. 移动web:翻页场景动画

    在移动web,特别是在微信中,经常看到一种翻页动画效果,也称为场景动画. 一页一页的翻过,像在看书,每页的内容以各种"炫酷"的效果出现在你的眼里,配上一首动听的音乐,你有没有喜欢上 ...

  7. VS2015环境下Crystal Reports(水晶报表)的安装使用

    1.首先下载Crystal Reports13对于Visual Studio 2015支持的2个文件. CRforVS_13_0_17 CRforVS_redist_install_64bit_13_ ...

  8. GridView 翻页 索引超出范围

    事件回顾 今天GridView翻页时,又遇到错误:索引超出范围.必须为非负值并小于集合大小. 这是当时的PageIndexChanging和RowCommand两个事件的后台代码 protected ...

  9. 6个超炫酷的HTML5电子书翻页动画

    相信大家一定遇到过一些电子书网站,我们可以通过像看书一样翻页来浏览电子书的内容.今天我们要分享的HTML5应用跟电子书翻页有关,我们精选出来的6个电子书翻页动画都非常炫酷,而且都提供源码下载,有需要的 ...

随机推荐

  1. Python爬虫Scrapy框架入门(0)

    想学习爬虫,又想了解python语言,有个python高手推荐我看看scrapy. scrapy是一个python爬虫框架,据说很灵活,网上介绍该框架的信息很多,此处不再赘述.专心记录我自己遇到的问题 ...

  2. Ubuntu开启22端口

    [http://blog.csdn.net/baple/article/details/39288817] 安装OpenSSH Ubuntu缺省没有安装SSH Server,使用以下命令安装: sud ...

  3. sublime text2安装package control的方法

    Package Control 方法一:在线安装,首先打开 Ctrl + ~,输入如下的代码: import urllib2,os; pf='Package Control.sublime-packa ...

  4. javascript中的true和false

    今天遇到一个问题,执行下面的代码返回true还是false?请说明理由 console.log([] == ![]) 在浏览器中运行了一下,发现结果是true.为什么会这样呢?于是查找了相关的资料. ...

  5. 400 Bad Request(angluarJs)

    今天做一个编辑的功能的时候,像后台传递一个实体,结果报400 Bad Request的错误....找了好久也没发现错误,老是报(不支持GET方式提交),检查好多遍我都是用的POST...不知道问题出在 ...

  6. pcl点云文件格式

    PCD版本 在点云库(PCL)1.0版本发布之前,PCD文件格式有不同的修订号.这些修订号用PCD_Vx来编号(例如,PCD_V5.PCD_V6.PCD_V7等等),代表PCD文件的0.x版本号.然而 ...

  7. Nginx环境中如何将HTTP跳转至HTTPS设置

    如果我们VPS服务器的WEB环境采用的是NGINX架构,那如果我们将安装SSL证书的网站希望强制跳转至HTTPS网站URL的时候那需要如何设置呢?这里个人建议是这样的,我们必须要强制一个地址,这样网站 ...

  8. 给 Android 开发者的 RxJava 详解

    我从去年开始使用 RxJava ,到现在一年多了.今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 .而最近这几个 ...

  9. MySQL5.6 Replication主从复制(读写分离) 配置完整版

    MySQL5.6 Replication主从复制(读写分离) 配置完整版 MySQL5.6主从复制(读写分离)教程 1.MySQL5.6开始主从复制有两种方式: 基于日志(binlog): 基于GTI ...

  10. 使用Calendar 将当月日历打印出来

    package com.date; import java.text.DateFormatSymbols; import java.util.Calendar; import org.junit.Te ...