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

在实际操作中发现可以在.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. vb 水晶报表打印

    vb里面的水晶报表打印控件:CrystalReportViewer 用到的dll文件: 水晶报表打印其实很简单,只要创建报表对象,再对其传递数据就可以打印出来.当然所传递的数据要与水晶报表设计里面的数 ...

  2. 解决Hexo博客模板hexo-theme-next的翻页按钮不正常显示问题

    用Hexo搭了个Gitpage的博客,兴冲冲的发了11篇博文后发现翻页按钮不正常显示,显示为<i class="fa fa-angle-right"></i> ...

  3. FineReport——JS二次开发(自定义翻页按钮)

    FR允许自定义工具栏上面的按钮,并提交JS方法: 对于翻页功能,大概有首页,下一页,上一页,最后一页,以及跳转页等功能. 不得不说的是,在HTML页面自定义的按钮如何获取到报表模板,通过FR提供的JS ...

  4. ASP.NET Dev ASPxGridView控件使用 ASP.NET水晶报表打印

    1.ASPxGridView控件使用 2.ASP.NET水晶报表客户端打印 3.javascript打印 4.ASPxGridView根据Textbox查询 5. ASPxGridView 列宽 1. ...

  5. turn.js中文API 写一个翻页效果的参数详细解释

    $('.flipbook').turn({     width: 922,     height: 600,     elevation: 50,     gradients: true,     a ...

  6. js + jquery 实现分页区翻页

    简单来说,情况是这样的,假如做好了对动漫每一集进行分页,如下图: 但当分页太多就会变得不能看,而且前后箭头也不能只是摆设. 想要得到类似这样效果: 网上搜了一会翻页相关的库没什么效果,也不太合适自己的 ...

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

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

  8. VS2008水晶报表变两页(重装系统后)

    找到水晶报表中的设置-打印机设置,发现打印机名称是 Microsoft XPS Document Writer (已重定向2),

  9. js监听微信、支付宝返回,后退、上一页按钮事件

    $(function(){ pushHistory(); window.addEventListener("popstate", function(e) { alert(" ...

随机推荐

  1. C# 遍历指定目录下的所有文件及文件夹

    // DirectoryInfo di = new DirectoryInfo(@"D:\Test"); // FindFile(di); static void FindFile ...

  2. Solr入门之(6)配置文件solrconfig.xml

    solrconfig.xml包含了用于配置自身行为的绝大部分参数,其作用范围是当前core.该文件位于${solr_home}/solr/core1/conf/下. 参数列表概览: A.lib B.d ...

  3. go sample - hello world

    入门级别的hello world package mainimport "fmt"func main() { fmt.Println("blibliblbibl!&quo ...

  4. 卸载Eclipse安装的插件

    背景:先前安装过Java Decompiler,不知道怎么弄的eclipse出问题之后不能用了,折腾了几次都没弄好,这次准备把这个插件先卸掉再装一次,结果发现,卸也卸不掉,最终是强制删除,以下为试过的 ...

  5. linux中预留的$变量

    $0表示bash脚本的文件名 $1表示第一个参数 $*表示参数列表$0, $1, $2… $@表示"$1"/"$2"...每个变量都是独立的,用双引号括起来 $ ...

  6. [liferay6.2]input-date日期控件

    input-date日期控件 liferay6.2中默认提供了一个简单的日期控件input-date,调用代码片段如下: <% Calendar calendar = Calendar.getI ...

  7. loj 1201(最大独立集)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26913 思路:水题一枚,就是求最大独立集.最大独立集=顶点数-最大 ...

  8. Arduino101学习笔记(九)—— 中断函数

    1.设置中断函数 //***************************************************************************************** ...

  9. 软考之PV操作(同步)

    这几天,陆续有那么三两个同学跟我讨论了一下关于软考上的PV操作的题,吾虽不才,但还是把同学们讲通了,在此,特分享一下自己的思路和想法,愿对大家有点帮助! 下面,我们就通过自己做过的试卷上两道题来分析: ...

  10. 词法分析 after Coding

    学习词法分析,认为词法分析很难. 虽然不懂,但是要完成作业. 去图书馆或者看书借鉴代码,修改错误,让代码正常运行. 学习词法分析后,了解到自己有很多的不足: 1.代码不是很熟练,课本知识不了解.知识面 ...