2 contentWindow
2.1 介绍:
contentWindow 是在 web 页面集成的时候,将 FineReport 报表嵌入在 iframe 中,调用报表
对象时使用的接口,比如说:document.getElementById('reportFrame').contentWindow,其中
document.getElementById('reportFrame')是获取 iframe 对象,contentWindow 是报表对象,相
当于 html 中的 window 对象。
在普通模板的 JS 脚本中可以直接使用 contentWindow 下的属性,如直接使用 contentWindow
中的 contentPane,而不用写 contentWindow,这是因为 js 脚本本身就在 FR 模板中执行。
网页中使用 iframe 嵌入报表,如果文档包含框架(frame 或 iframe 标签),框架中嵌入了 FR
报表,则会创建一个 contentWindow 对象先获取 iframe,再调用 contentWindow,然后使用
contentWindow 下面的属性:
var contentWindow = document.getElementById("reportFrame").contentWindow.XXX;
不论是 web 页面集成里面还是直接在 FR 模板之中,contentWindow 下面最常用的属性当属
contentPane,所以下面将详细介绍 contentPane。
contentPane 是 contentWidow 下面的最常用的一个属性,为存放报表内容的容器。
2. 2 引用 contentPane
在普通模板的 JS 脚本中直接使用 contentPane 就能获取到该对象。
如果报表嵌在网页的 iframe 中,首先在 iframe 中获取 contentWindow,然后获取属性
contentPane 对象,如下:
var contentPane = document.getElementById('reportFrame').contentWindow.contentPane;
比如,需要在网页中获取报表填报页面的一个按钮,并执行点击事件:
document.getElementById('reportFrame').contentWindow.contentPane.getWidgetByName('控件
名').fireEvent('click')
2.2.1 contentPane 常用属性
parameterEl
返回对象参数界面
curLGP
返回 curLGP 对象,只有填报预览及表单预览下才有
currentPageIndex
当前所在页,只有分页预览才有
reportTotalPage
总页数,只有分页预览报表才有
zoom
缩放比例
2.2.2 contentPane 常用方法