最新历史版本 :contentPane 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

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加载结束
beforetopdfPDF 导出前
aftertopdfPDF 导出后
beforetoexcelExcel 导出前
aftertoexcelExcel 导出后
beforetowordWord 导出前
aftertowordWord 导出后
beforetoimage导出图片前
aftertoimage导出图片后
beforepdfprintPDF 打印前
afterpdfprintPDF 打印后
beforeflashprintFlash 打印前
afterflashprintFlash 打印后
afterverify校验后,只有填报有
beforeverifywrite校验提交前,只有填报有
afterverifywrite校验提交后,只有填报有
beforewrite填报前,只有填报有
afterwrite填报后,只有填报有
writesuccess填报成功,只有填报有
writefailure填报失败,只有填报有
beforeappend添加行前,只有填报有
afterappend添加行后,只有填报有
beforedelete删除行前,只有填报有
afterdelete删除行后,只有填报有
cellselect填报/数据分析时选择格子时触发
tabchange对多 tab 的模板 tab 切换时触发



索引:

填报模板中的相关接口也可参考:控件接口单元格接口工具栏接口页面交互接口消息接口

参数界面接口可参考 参数界面 JS 实例