超链接

阅读(3079) 标签: 超链接,

背景说明:

报表在网页上展现时,经常用到超链接属性,常用于弹出另一个页面、触发执行某段javascript代码等等,而这些操作,往往需要引用单元格的值。

 

超链接的定义界面如下图所示:

从图上可以看出,超链接的属性也可以定义属性值或者表达式,充分利用超链接的表达式,可以实现单元格值的灵活运用。

 

举例1:常规超链接

常规的超链接不引用单元格的值,因此可以直接在超链接的属性值里写入url,如下图所示:

 

 

举例2:引用单元格的值

如果需要在超链接中引用单元格的值,则需要利用超链接表达式,动态生成一个超链接,如下图所示:

 

引用单元格的真实值

 

引用单元格的显示值

 

举例3:执行javascript函数

 

直接写上javascript函数

 

通过表达式生成javascript函数

 

注意:执行javascript函数的超链接里,如果函数的参数里用到引号等字符型的变量,此时需要用单引号。

 

举例3:弹出对话框

 

//首先,在网页的Javascript脚本里写入如下函数:

function show_product(id){ 

var strurl='/demo/jsp/3.3.jsp?rpx=/api/wangge4_sub.rpx&arg1='+id;

window.open(strurl,"_blank"," Width=650 ,Height=500,top=100,left=100");

}

//然后在报表触发单元格里写入如下超链接表达式:

 

举例4:弹出对话框返回参数

从上例可以看出,要往对话框中传递参数非常容易,直接拼在url中即可,可是如何接收返回参数并且把返回参数写入单元格呢?

在父页面中写入如下代码:

<script language="JavaScript">

function getChildValue(childValue){  //接收子页面的返回参数,该方法被子页面调用

document.form1.textfield.value = childValue;

}

 

function openChildWeb(){  //打开子页面

window.open ('childweb.htm','newwindow','height=100,width=400,top=0,left=0') ;

}

</script>

 

在子页面中写入如下代码:

<script language="JavaScript" >

function putChildValue(){

var childValue = document.form1.textfield.value;    //获得返回参数

opener.getChildValue(childValue) ;  //调用父页面的方法传递返回参数

window.close();  //关闭子页面

}

</script>