1. 概述
contentPane 是 contentWindow 下面的最常用的一个属性,为存放 cpt 报表内容的容器。
注:contentPane 只有在 cpt 中才有,frm 中没有
2. 引用 contentPane
1)在普通模板中
在普通模板的 JS 脚本中直接使用 contentPane 就能获取到该对象。
2)报表嵌在网页的 iframe 中
如果报表嵌在网页的 iframe 中,首先在 iframe 中获取 contentWindow,然后获取属性 contentPane 对象,如下:
var contentPane=document.getElementById('reportFrame').contentWindow.contentPane;
例如需要在网页中获取报表填报页面的一个按钮,并执行点击事件,就可以写:
document.getElementById('reportFrame').contentWindow.contentPane.getWidgetByName('控件名').fireEvent('click');
3. contentPane 常用属性
parameterEl | 返回对象参数界面 |
---|---|
curLGP | 返回 curLGP 对象,只有填报预览下才有,详细可查看 curLGP |
currentPageIndex | 当前所在页,只有分页的时候有 |
reportTotalPage | 总页数,只有分页的时候有 |
zoom | 缩放比例 |
注:currentPageIndex 和 reportTotalPage 只有分页的时候有,包含在 cpt 的分页预览下和在 cpt 填报预览且 __cutpage__=v 填报分页情况下。
4. contentPane 常用方法
方法 | 参数 | 说明 |
---|---|---|
appendReportRC(num,cell) | 在选中行后面插入 num 行,只有填报表才可以用 | |
deleteReportRC() | 删除指定行,只有填报表才可以用 | |
deleteRows(param) | param:数组,例如['A1','B1'],需注意对应单元格必须设置为可扩展 | 批量删除 param 所在记录,param 为一串单元格坐标的字符串数组 |
emailReport() | 邮件发送 | |
exportReportToExcel('指定格式') | 参数为 page 时分页导出;simple 原样导出;sheet 分页分 sheet 导出 | |
exportReportToImage() | 输出图片 | |
exportReportToPDF() | 输出 PDF | |
exportReportToWord() | 输出 Word | |
fireEvent() | 触发事件 | |
flashPrint() | Flash 打印 | |
getWidgetByName() | 获取填报页面的控件、参数面板里的控件、决策报表主体里的控件,对控件进行操作,详细可查看 引用控件及控件方法列表 | |
getCellValue(cell)/getCellValue(reportIndex,columnIndex,rowIndex) | reportIndex 选填,sheet编号,从 0 开始; columnIndex 必填,列号,从 0 开始; rowIndex 必填,行号,从 0开始; cell 单元格编号 | 获取单元格值,只有填报下有 |
gotoFirstPage() | 跳转到第一页,只有分页的时候有 | |
gotoLastPage() | 跳转到最后一页,只有分页的时候有 | |
gotoPreviousPage() | 跳转到上一页,只有分页的时候有 | |
gotoNextPage() | 跳转到下一页,只有分页的时候有 | |
gotoPage(pn, para, noCache) | 跳转到指定 num 页,只有分页的时候有,还包含决策报表里的报表块有分页的情况 | |
importExcelData() | 在线导入 Excel,只有填报表才可以用 | |
on() | 监听 | |
pdfPrint() | PDF 打印 | |
printPreview() | 打印预览,只有数据分析时才有 | |
pageSetup() | 页面设置,只有数据分析才有 | |
scale(str) | 缩放,str 为"+"时放大,为"-"时缩小 | |
setCellValue(cell,null,value)/setCellValue(reportIndex ,col,row,value) | reportIndex 选填,sheet编号,从 0 开始; columnIndex 必填,列号,从 0 开始; rowIndex 必填,行号,从 0开始; cell 单元格编号; value 值 | 给单元格赋值,只有填报表才有 |
verifyReport() | 数据校验,只有填报表才可以用 | |
writeReport([Object reportIndex]) | 选填,sheet编号,从 0 开始 | 提交报表,只有填报表才可以用 contentPane.writeReport()提交所有sheet; contentPane.writeReport(reportIndex)提交指定的 sheet |
verifyAndWriteReport([Object isAllSheet]) | 选填,true 为提交所有sheet | 先对数据进行校验,校验成功则提交数据,只有 cpt 填报表才可以用 contentPane.verifyAndWriteReport() 为提交当前 sheet; contentPane.verifyAndWriteReport(true)为提交所有 sheet |
stash(undefined,true) | 暂存,第一个参数是按钮,第二个参数是是否提示成功,也可以不传参 | |
refreshAllSheets() | 多 sheet 填报中,刷新所有 sheet,且刷新后会停留在上次查看的 sheet 页,只有填报表下可以用 | |
loadSheetByIndex(sheet的序号) | 多 sheet 切换 | |
loadSheetByName(sheet的名字) | 多 sheet 切换 | |
noClientPrint(popupMarginSetup, ieQuietPrint) | popupMarginSetup:是否弹出设置窗口,true 为弹出,false 为不弹出 ieQuietPrint: IE静默打印设置 true 为静默,false 为不静默 | 零客户端打印 |
newNativePrint(popupDialog, serverURL) | popupDialog:是否弹出设置窗口,true 为弹出,false 为不弹出 serverURL:报表所在的服务器地址,例如 http://localhost:8080 | 本地打印 |
importExcel() | 在线导入 Excel,只有填报表才可以用 |
5. contentPane 监听事件
通过上述中的 contentPane.on() 来监听下述事件,监听事件的使用方法可参考: JS 获取当前编辑行单元格行号
方法 | 说明 |
---|---|
startload | 加载起始 |
afterload | 加载结束 |
beforetopdf | PDF 导出前 |
aftertopdf | PDF 导出后 |
beforetoexcel | Excel 导出前 |
aftertoexcel | Excel 导出后 |
beforetoword | Word 导出前 |
aftertoword | Word 导出后 |
beforetoimage | 导出图片前 |
aftertoimage | 导出图片后 |
beforepdfprint | PDF 打印前 |
afterpdfprint | PDF 打印后 |
beforeflashprint | Flash 打印前 |
afterflashprint | Flash 打印后 |
afterverify | 校验后,只有填报有 |
beforeverifywrite | 校验提交前,只有填报有 |
afterverifywrite | 校验提交后,只有填报有 |
beforewrite | 填报前,只有填报有 |
afterwrite | 填报后,只有填报有 |
writesuccess | 填报成功,只有填报有 |
writefailure | 填报失败,只有填报有 |
beforeappend | 添加行前,只有填报有 |
afterappend | 添加行后,只有填报有 |
beforedelete | 删除行前,只有填报有 |
afterdelete | 删除行后,只有填报有 |
cellselect | 填报/数据分析时选择格子时触发 |
tabchange | 对多 tab 的模板 tab 切换时触发 |
索引:
填报模板中的相关接口也可参考:控件接口,单元格接口,工具栏接口,页面交互接口,消息接口
参数界面接口可参考 参数界面 JS 实例