html页面嵌入finereport,HTML 通过 iframe 嵌套多张模板并设置联动

2.1 制作 HTML 页面

在\webapps\webroot\help\page_demo文件夹中新建一个 HTML 页面 frame.html,在 HTML 中定义 frameset 标签,组织多个窗口,通过 frame 设置特定的窗口区域,通过 JS 判断对不同窗口区域设置不同模板地址,详细代码如下:

New Document

//在主模板加载结束事件触发zhu(classno)方法,并把classno传到html

function zhu(classno) {

var classno = classno;

//把获取参数classno赋值给表2模板

var zi1 = "/webroot/decision/view/report?viewlet=zi1.cpt&op=write&__showtoolbar__=false&classno=" + classno;

document.getElementById("zi1").src = zi1;

}

//主模板和表2模板加载完触发aa(stuno)方法

function aa(stuno) {

var stuno = stuno;

//如果stuno为空的时候,则表3窗口赋值为空,不为空则动态给表3模板设置url

if(stuno == 'null')

{

var reportURL = "";

document.getElementById("zi2").src = reportURL;

return false;

}else{

var reportURL = "/webroot/decision/view/report?viewlet=zi2.cpt&op=write&__showtoolbar__=false&stuno=" + stuno;

document.getElementById("zi2").src = reportURL;

}

}

src="/webroot/decision/view/report?viewlet=zhu.cpt&op=write">

2.2 zhu.cpt 设计

1)模板设计

新建工作薄,添加数据集 ds1,SQL 语句为SELECT * FROM STSCORE,如下图所示:

0395b787788fa0eaee2cbd66358e9d09.png

将数据集中的,classno 字段拖曳至 B2 单元格中,如下图所示:

e0cf09801d19689a7c782870a366cea4.png

2)超级链接

在主表点击超级链接传值到子表,右击 B2 单元格,超级链接>网页链接,UR L地址则是输入本身模板地址:/webroot/decision/view/report?viewlet=zhu.cpt,链接打开于选择当前窗口,参数则把点击的值传到子模板中,classno=B2,如果不希望模板分页,则可添加参数op=write,设置如下图所示:

baa5b0c1e628e3d02c5dfc3ee8b3a6f0.png

3)加载结束事件

因为不希望分页,则在填报预览下添加加载结束事件,根据个人情况而定是否显示工具栏,在加载结束事件中添加参数 classno=$classno,在公式中使用$classno则可动态获取到点击超级链接的值;

在三个窗口都显示值的情况下,又点击了主表中超级链接,这时就需要清空表 3 中的数据,所以添加参数 stuno=null,传到 HTML 进行判断,清空表 3 数据。

a849d35ef3025bfeb33236d75f98cca1.png

在 JS 中判断是否第一次访问主模板,不是则加载完触发 HTML 中定义 JS 方法,代码如下:if(classno != 'null'){

var zhu = parent.window;

zhu.zhu(classno);

zhu.aa(stuno);

}

设置的效果如下图所示:

61c9a634587b3f944be97b93ea6e8f8a.png

最终保存模板为 zhu.cpt。

2.3 zi1.cpt 设计

1)模板设计

新建工作薄,添加数据集 ds1,SQL 语句为SELECT * FROM STSCORE,如下图所示:

0395b787788fa0eaee2cbd66358e9d09.png

根据表样中的字段将数据集中的字段拖曳至相应单元格中,设置B3单元格的左父格为A2。

3649fd4e0115cbc2497839132772fcae.png

通过主表传递参数$classno,对表 2 进行过滤,进而展示数据,双击 A2 单元格,选择过滤,添加条件:CLASSNO 等于 $classno,如下图:

4b1db8ff893cbabe28b809cdab51f6b2.png

2)超级链接

跟主表设置基本相同,添加超级链接-网页链接,URL 地址则是输入本身模板地址:/webroot/decision/view/report?viewlet=zi1.cpt,链接打开于选择当前窗口,并把参数传值给本身和表 3 模板中,设置如下:

b1cb616e946eb1ff0ea8ad79b9df68a3.png

3)加载结束事件

只要控制表三模板即可,添加参数stuno=$stuno,在 JS 中判断 stuno 不为空的情况下触发 HTML 中的方法,动态把 URL 地址赋值给表 3 模块,JS 代码如下:if(stuno != 'null'){

var zhu = parent.window;

zhu.aa(stuno);

}

设置的效果如下图所示:

3e71f53f36d35b6835343952a1e5433a.png

最终保存模板为zi1.cpt。

2.4 zi2.cpt 设计

1)模板设计

新建工作薄,添加数据集 ds1,SQL 语句为:SELECT * FROM STSCORE,如下图所示:

0395b787788fa0eaee2cbd66358e9d09.png

根据表样中的字段将数据集中的字段拖曳至相应单元格中,只需通过zi1.cpt 传递过来的$stuno参数进行过滤即可,双击 B3 单元格,选择过滤,添加条件:STUDENTNO等于$stuno,如下图:

a0f55c6e798964d8fa80d32d40205e63.png

最终保存模板为 zi2.cpt。到这里模板设置已完成,启动内置服务器,访问 HTML,在浏览器中输入http://localhost:8075/webroot/help/page_demo/frame.html即可查看效果。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值