FineReport报表工具内置JS的使用之二

文章转自:http://reportblog.cn/archives/923
JavaScript概述
        JavaScript是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。它是一种基于对象(Object Based)和事件驱动(Event Driver)的编程语言。  JavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。它对用户的反映响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页(Home Page)中执行了某种操作所产生的动作,就称为“事件”(Event)。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。
   JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可正确执行。即JavaScript源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户编由浏览器直接解释执行。
其他事件
使用FineReport报表工具时除了各控件中可以添加事件外,超级链接也可以引用JavaScript,具体使用方法将在之后的章节中详述。同时在报表|报表Web属性及服务器|服务器配置中也可以添加各种JS事件,如下图所示:




超链接引用JavaScript
        该例子实现用户在点击超级链接的时候,根据输入的页码,来决定链接到指定的页面。
有两种引用方式:
1.        将写好的方法保存为js文件,放置在工程下,在超级链接中直接调用
1.1        新建报表
1.2        模板设计
在B3单元格中写入公式:=range(1,40),并将其扩张属性改为“从左到右扩展”,并将其设为居中,如下图所示:



1.3        添加超链接
        右击B3单元格,选择超级链接,进入超级链接界面,点击添加JavaScript,如下图所示



        写一段Js代码,内容为:
function demo() {       
var test = function() {
var num = parseInt(arguments[0]);
contentPane.gotoPage(num);
};
var value = FR.Msg.prompt("输入", "页码", 2, test);
}
说明:
var num = parseInt(arguments[0]); //获得输入框中输入的页码
contentPane.gotoPage(num); //跳转到相应页码
var value = FR.Msg.prompt("输入", "页码", 2, test); //参数分别为对话框标题、对话框内容、输入框默认值、回调函数
将此段内容保存为test.js文件 ,放在WebReport目录下,在超级链接界面中插入该test.js,并在下面的function fun()函数中调用demo();
效果如下图所示:



1.4        保存并预览
点击超级链接,出现如下图所示的输入提示对话框



在输入对话框中输入需要跳转的页数,并点击确定按钮,就跳转到相应的页面。
2.        直接在超级链接界面上写js方法
2.1        新建报表
2.2        模板设计
在B3单元格中写入公式:=range(1,40),并将其扩张属性改为“从左到右扩展”,并将其设为居中,如下图所示:



2.3        添加超链接
        右击B3单元格,选择超级链接,进入超级链接界面,点击添加JavaScript,如下图所示



        function fun(){}函数中写入如下JS语句:
function test(){   
var num = parseInt(arguments[0]);  
_g('${sessionID}').gotoPage(num);       
};
var value = FR.Msg.prompt("输入", "页码", 2,test);
说明:
_g('${sessionID}').gotoPage(num); //跳转到相应页码
如下图所示



2.4保存预览
点击超级链接,出现如下图所示的输入提示对话框



在输入对话框中输入需要跳转的页数,并点击确定按钮,就会跳转到相应的页面。
参与0

0同行回答

“答”则兼济天下,请您为题主分忧!

提问者

wsff
软件开发工程师南京帆软
评论181

相关问题

相关资料

问题状态

  • 发布时间:2010-08-24
  • 关注会员:0 人
  • 问题浏览:1856
  • X社区推广