报表宏事件分服务端模块和客户端模块:
- 服务端模块:表示宏的事件在服务端进行处理。在Smartbi中,只为【多维分析】【电子表格】【透视分析】提供了服务端处理的事件;:
- 客户端模块:表示宏的事件在客户端进行处理。在Smartbi中,为所有不同类型的报表【灵活分析、多维分析、页面、仪表分析】提供了客户端处理的事件;因此为任意报表进行宏定制时,都需要创建客户端的模块宏。
面板 |
---|
borderColor | #BBBBBB |
---|
bgColor | #F0F0F0 |
---|
borderWidth | 1 |
---|
borderStyle | solid |
---|
|
文档目录: |
- 表示宏的事件在服务端(应用服务器)进行处理。在Smartbi中,只为【多维分析】【电子表格】【透视分析】提供了服务端处理的事件
- 服务端宏底层原理和自定义计划任务脚本一样的,都是使用了 Rhino 工具包,语法遵循Javascript 语法规范,能够引用 Java 类并创建 Java 对象来使用,详细的语法说明见自定义计划任务
- 服务端宏因为在服务器上运行,对浏览器端展现和导出报表都是生效的。
- 客户端模块:
- 表示宏的事件在客户端进行处理。在Smartbi中,为所有不同类型的报表【灵活分析、多维分析、页面、仪表分析、电子表格、透视分析、组合分析等】提供了客户端处理的事件
- 客户端宏的语法就是JavaScript,需要有前端开发的经验才可能灵活编写,调试也是使用浏览器前端调试即可
- 注意:客户端宏主要影响浏览器端的展现效果,除了图形(直接加在图形对象上的部分宏功能可以对导出生效),其他报表的客户端宏都不会对导出有效果。
所有模块的宏示例请见报表宏开发示例库,更多关于宏的说明请见报表宏功能简介,报表宏快速入门。
1 ServerSide服务端模块
1.1 olapTable(多维分析表格对象)
olapTable:多维分析报表表格对象。
对应事件 | 对应事件说明 |
onRenderTable | - 事件原型:function main(olapTable) {}
- 事件说明:
|
在打开多维分析报表初始化完成后或多维分析报表数据刷新后触发。- 在打开多维分析报表初始化完成后或多维分析报表数据刷新后触发,可以使用多维分析的跳转规则生成一个看示例效果
- 参数说明:
|
1.2 olapQuery(多维分析报表对象)
olapQuery:多维分析报表对象。
olapTable在多维分析报表加载告警信息时触发。参数说明:
1.3 spreadsheetReport(电子表格报表对象)
spreadsheetReport:电子表格报表对象。
对应事件 | 对应事件说明 |
onBeforeOutput | - 事件原型:function main(spreadsheetReport) {}
- 事件说明:在电子表格生成输出的html之前触发,实现此事件可以改写电子表格输出结果。
- 参数说明:
- 参考示例:电子表格服务端宏示例
|
1.4 INSIGHT(透视分析报表对象)
INSIGHT:透视分析报表对象。
对应事件 | 对应事件说明 |
beforeBuildHTML | - 事件原型:function main(insightCellList) {}
- 事件说明:在透视分析生成输出的html之前触发,实现此事件可以改写透视分析的数据输出结果
- 参数说明:
- 参考示例:透视分析删除特定行—服务端宏
|
2 ClientSide客户端模块
2.1 simpleReport(灵活分析对象)
simpleReport:灵活报表对象。
对应事件 | 对应事件说明 |
onRender | - 事件原型:function main(simpleReport, simpleReportContext) {}
- 事件说明:在打开灵活分析报表初始化完成后触发
- 参数说明:
- simpleReport:灵活分析报表对象
- simpleReportContext:灵活分析报表上下文对象
|
onRenderTable | - 事件原型:function main(simpleReport, simpleReportContext) {}
- 事件说明:在打开灵活分析报表初始化完成后和灵活分析报表数据刷新后触发
- 参数说明
- simpleReport:灵活分析报表对象
- simpleReportContext:灵活分析报表上下文对象
|
onParamValueChanged | - 事件原型:function main(simpleReport, simpleReportContext,param) {}
- 事件说明:在灵活分析报表参数改变后触发
- 参数说明
- simpleReport:灵活分析报表对象
- simpleReportContext:灵活分析报表上下文对象
- param:当前改变的参数对象
|
2.2 olapQuery(多维分析报表对象)
olapQuery:多维分析报表对象。
对应事件 | 对应事件说明 |
afterRefreshTable | - 事件原型:function main(olapQuery) {}
- 事件说明:在多维分析报表数据刷新后触发
- 参数说明
|
2.3 olapTable(多维分析表格对象)
olapTable:多维分析报表表格对象。
对应事件 | 对应事件说明 |
onClick | - 事件原型:function main(cell) {}
- 事件说明:在单击多维分析表格中的内容时触发
- 参数说明
|
onInitPopupMenu | - 事件原型:function main(popupMenu, cell) {}
- 事件说明:在单击多维分析表格进行该事件处理,显示命令菜单,只有单击菜单中相关命令才会执行宏
- 参数说明
- popupMenu:子菜单对象
- cell:当前点击的单元格对象
|
2.4 page(仪表盘页面对象)
page:仪表盘页面对象。
对应事件 | 对应事件说明 |
onRenderPage | - 事件原型:function main(page, pageContext) {}
- 事件说明:在打开页面初始化完成后触发
- 参数说明
- page:页面对象
- pageContext:页面上下文对象
|
onDestroyPage | - 事件原型:function main(page, pageContext) {}
- 事件说明:页面对象释放时触发
- 参数说明
- page:页面对象
- pageContext:页面上下文对象
|
onParamValueChanged | - 事件原型:function main(page, pageContext,param) {}
- 事件说明:公共参数改变后触发
- 参数说明
- page:页面对象
- pageContext:页面上下文对象
- param:当前改变的参数对象
|
2.5 meterReport(仪表分析/地图分析对象)
meterReport:仪表分析/地图分析对象。
对应事件 | 对应事件说明 |
onRender | |
onParamValueChanged | |
chart:图形/地图对象
对应事件 | 对应事件说明 |
beforeRender | - 事件原型:function main(chartView) {}
- 事件说明:图形/地图初始化前触发。
- 参数说明
chartView:图形/地图对象。
|
afterRender | - 事件原型:function main(chartView) {}
- 事件说明:图形/地图初始化完,刷新数据前触发。
- 参数说明
chartView:图形/地图对象。
|
pointClick | - 事件原型:function main(chartView, point) {}
- 事件说明:
- 参数说明
chartView:图形/地图对象。 point:鼠标点击的图形/地图元素对象。
|
2.6 spreadsheetReport (电子表格对象)
spreadsheetReport:电子表格对象。
对应事件 | 对应事件说明 |
onRenderReport | - 事件原型:function main(spreadsheetReport) {}
- 事件说明:在打开电子表格报表初始化完成后触发
- 参数说明
- spreadsheetReport:电子表格报表对象
|
onRender | - 事件原型:function main(spreadsheetReport) {}
- 事件说明:在电子表格报表数据刷新后触发
- 参数说明
- spreadsheetReport:电子表格报表对象
|
onParamValueChanged | - 事件原型:function main(spreadsheetReport, param) {}
- 事件说明:在电子表格报表参数改变后触发
- 参数说明
- spreadsheetReport:电子表格报表对象
- param当前改变的参数对象
- 参考示例:
|
onLinkClick | - 事件原型:function main(spreadsheetReport, ruleName, params) {}
- 事件说明:在电子表格超链接上点击后触发,这个事件需要配合服务端宏才能生效,一般不会手动新建,而是通过跳转规则自动生成(可以基于生成的再修改)。
- 参数说明
- spreadsheetReport:电子表格报表对象
- ruleName:跳转规则名称
- params: 报表参数
|
onChartClick | - 事件原型:function main(spreadsheetReport, spreadsheetReportChart) {}
- 事件说明:在电子表格图形上点击后触发,这个事件需要配合服务端宏才能生效,一般不会手动新建,而是通过跳转规则自动生成(可以基于生成的再修改).
- 参数说明
- spreadsheetReport:电子表格报表对象
- spreadsheetReportChart:被点击图形名称(excel设计器上指定的),对象结构,spreadsheetReportChart.name代表图形名称
|
onWriteBackInsertedRow | - 事件原型:function main(spreadsheetReport, editingCellPosition) {}
- 事件说明:在可回写的电子表格的工具类上点击“插入行”后触发
- 参数说明
- spreadsheetReport:电子表格报表对象
- editingCellPosition:当前编辑单元格,对象结构{row:, column:}
- 参考示例:电子表格添加新行时自动为单元格赋值
|
onWriteBackCellValueChanged | 在可回写的电子表格中,修改某个单元格值的时候触发 |
onWriteBackSavedData | 在可回写的电子表格的工具类上点击“保存”,服务器返回后触发 |
报表宏事件分服务端模块和客户端模块:
服务端模块:表示宏的事件在服务端进行处理。在Smartbi中,只为【多维分析】【电子表格】【透视分析】提供了服务端处理的事件;客户端模块:表示宏的事件在客户端进行处理。在Smartbi中,为所有不同类型的报表【灵活分析、多维分析、页面、仪表分析】提供了客户端处理的事件;因此为任意报表进行宏定制时,都需要创建客户端的模块宏。- 在多维分析报表加载告警信息时触发。可以设置一个多维分析告警,然后查看对应的宏示例(多维告警会生成这个事件的宏)
- 参数说明:
|
面板 |
---|
borderColor | #BBBBBB |
---|
bgColor | #F0F0F0 |
---|
borderWidth | 1 |
---|
borderStyle | solid |
---|
|
文档目录: |
1 ServerSide服务端模块
1.1 olapTable(多维分析表格对象)
olapTable:多维分析报表表格对象。
对应事件 | 对应事件说明 |
onRenderTable | - 事件原型:function main(olapTable) {}
- 事件说明:在打开多维分析报表初始化完成后或多维分析报表数据刷新后触发。
- 参数说明:
|
1.
2 olapQuery(多维分析报表对象)olapQuery:多维分析报表对象。
对应事件 | 对应事件说明 |
onWarning | - 事件原型:function main(olapTable) {}
- 事件说明:在多维分析报表加载告警信息时触发。
- 参数说明:
|
1.3 spreadsheetReport(电子表格报表对象)
spreadsheetReport:电子表格报表对象。
对应事件 | 对应事件说明 |
onBeforeOutput | - 事件原型:function main(spreadsheetReport) {}
- 事件说明:在电子表格生成输出的html之前触发,实现此事件可以改写电子表格输出结果。
- 参数说明:
- 参考示例:电子表格服务端宏示例
|
1.4 INSIGHT(透视分析报表对象)
INSIGHT:透视分析报表对象。
对应事件 | 对应事件说明 |
beforeBuildHTML | - 事件原型:function main(insightCellList) {}
- 事件说明:在透视分析生成输出的html之前触发,实现此事件可以改写透视分析的数据输出结果
- 参数说明:
- 参考示例:透视分析删除特定行—服务端宏
|
2 ClientSide客户端模块
2.1 simpleReport(灵活分析对象)
simpleReport:灵活报表对象。示例
对应事件 | 对应事件说明 |
onRender | - 事件原型:function main(simpleReport, simpleReportContext) {}
- 事件说明:在打开灵活分析报表初始化完成后触发
- 参数说明:
- simpleReport:灵活分析报表对象
- simpleReportContext:灵活分析报表上下文对象
|
onRenderTable | - 事件原型:function main(simpleReport, simpleReportContext) {}
- 事件说明:在打开灵活分析报表初始化完成后和灵活分析报表数据刷新后触发
- 参数说明
- simpleReport:灵活分析报表对象
- simpleReportContext:灵活分析报表上下文对象
|
onParamValueChanged | - 事件原型:function main(simpleReport, simpleReportContext,param) {}
- 事件说明:在灵活分析报表参数改变后触发
- 参数说明
- simpleReport:灵活分析报表对象
- simpleReportContext:灵活分析报表上下文对象
- param:当前改变的参数对象
|
2.2 olapQuery(多维分析报表对象)
olapQuery:多维分析报表对象。示例
对应事件 | 对应事件说明 |
afterRefreshTable | - 事件原型:function main(olapQuery) {}
- 事件说明:在多维分析报表数据刷新后触发
- 参数说明
|
2.3 olapTable(多维分析表格对象)
olapTable:多维分析报表表格对象。
对应事件 | 对应事件说明 |
onClick | - 事件原型:function main(cell) {}
- 事件说明:在单击多维分析表格中的内容时触发
- 参数说明
|
onInitPopupMenu | - 事件原型:function main(popupMenu, cell) {}
- 事件说明:在单击多维分析表格进行该事件处理,显示命令菜单,只有单击菜单中相关命令才会执行宏
- 参数说明
- popupMenu:子菜单对象
- cell:当前点击的单元格对象
|
2.4 page(仪表盘页面对象)
page:仪表盘页面对象。示例
对应事件 | 对应事件说明 |
onRenderPage | - 事件原型:function main(page, pageContext) {}
- 事件说明:在打开页面初始化完成后触发
- 参数说明
- page:页面对象
- pageContext:页面上下文对象
|
onDestroyPage | - 事件原型:function main(page, pageContext) {}
- 事件说明:页面对象释放时触发
- 参数说明
- page:页面对象
- pageContext:页面上下文对象
|
onParamValueChanged | - 事件原型:function main(page, pageContext,param) {}
- 事件说明:公共参数改变后触发
- 参数说明
- page:页面对象
- pageContext:页面上下文对象
- param:当前改变的参数对象
|
2.5 meterReport(仪表分析/地图分析对象)
meterReport:仪表分析/地图分析对象。
对应事件 | 对应事件说明 |
onRender | |
onParamValueChanged | |
chart:图形/地图对象
对应事件 | 对应事件说明 |
beforeRender | - 事件原型:function main(chartView) {}
- 事件说明:图形/地图初始化前触发。
- 参数说明
chartView:图形/地图对象。 - 参考示例:beforeRenderer示例说明
|
afterRender | - 事件原型:function main(chartView) {}
- 事件说明:图形/地图初始化完,刷新数据前触发。
- 参数说明
chartView:图形/地图对象。
|
pointClick | - 事件原型:function main(chartView, point) {}
- 事件说明:
- 参数说明
chartView:图形/地图对象。 point:鼠标点击的图形/地图元素对象。
|
2.6
spreadsheetReport spreadsheetReport (电子表格对象)
spreadsheetReport:电子表格对象。示例
对应事件 | 对应事件说明 |
onRenderReport | - 事件原型:function main(spreadsheetReport) {}
- 事件说明:在打开电子表格报表初始化完成后触发
- 参数说明
- spreadsheetReport:电子表格报表对象
|
onRender | - 事件原型:function main(spreadsheetReport) {}
- 事件说明:在电子表格报表数据刷新后触发
- 参数说明
- spreadsheetReport:电子表格报表对象
|
onParamValueChanged | - 事件原型:function main(spreadsheetReport, param) {}
- 事件说明:在电子表格报表参数改变后触发
- 参数说明
- spreadsheetReport:电子表格报表对象
- param当前改变的参数对象
- 参考示例:电子表格根据参数值不同显示不同的报表
|
onLinkClick | - 事件原型:function main(spreadsheetReport, ruleName, params) {}
- 事件说明:在电子表格超链接上点击后触发,这个事件需要配合服务端宏才能生效,一般不会手动新建,而是通过跳转规则自动生成(可以基于生成的再修改)。
- 参数说明
- spreadsheetReport:电子表格报表对象
- ruleName:跳转规则名称
- params: 报表参数
|
onChartClick | - 事件原型:function main(spreadsheetReport, spreadsheetReportChart) {}
- 事件说明:在电子表格图形上点击后触发,这个事件需要配合服务端宏才能生效,一般不会手动新建,而是通过跳转规则自动生成(可以基于生成的再修改).
- 参数说明
- spreadsheetReport:电子表格报表对象
- spreadsheetReportChart:被点击图形名称(excel设计器上指定的),对象结构,spreadsheetReportChart.name代表图形名称
|
onWriteBackInsertedRow | - 事件原型:function main(spreadsheetReport, editingCellPosition) {}
- 事件说明:在可回写的电子表格的工具类上点击“插入行”后触发
- 参数说明
- spreadsheetReport:电子表格报表对象
- editingCellPosition:当前编辑单元格,对象结构{row:, column:}
- 参考示例:电子表格添加新行时自动为单元格赋值
|
onWriteBackCellValueChanged | - 事件原型:
function main(spreadsheetReport, editingCellPosition, oldValue, newValue, newDisplayValue) {} - 事件说明:在可回写的电子表格中,修改某个单元格值的时候触发
- 参数说明
- spreadsheetReport:电子表格报表对象
- editingCellPosition:当前编辑单元格,对象结构{row:, column:}
- oldValue:修改前的值
- newValue:修改后的值
- newDisplayValue:修改后的显示值
- 参考示例:电子表格回写单元格一对多联动
|
onWriteBackSavedData | - 事件原型:
function main(spreadsheetReport, succeeded) { } - 事件说明:在可回写的电子表格的工具类上点击“保存”,服务器返回后触发
- 参数说明
- spreadsheetReport:电子表格报表对象
- succeeded:bool,回写是否成功
- 参考示例:电子表格回写保存时记录日志
|
2.7 INSIGHT(透视分析对象)
INSIGHT:透视分析对象。
示例
对应事件 | 对应事件说明 |
onRender | |
onRenderTable | |
onParamValueChanged | |
INSIGHTinsight:透视分析对象 - param:发生变化的参数对象
|
chart:图形对象,可以参考meterReport(仪表分析/地图分析对象)中的chart