...
1、首先在电子表格设计器(Microsoft Office Excel)中,创建电子表格报表。其中添加了一个形状,并且其名称为"clickme"
2、在浏览器中,切换到“定制 -> 宏管理”页面,在左侧的资源树上找到对应的电子表格报表,双击该节点进入报表宏编辑界面。2、在浏览器的资源定制节点下,选中电子表格,右键选择 编辑宏 进入报表宏界面。
3、在报表宏界面新建客户端模块。在弹出的新建模块对话框中,选择对象为spreadSheetReport、事件为onRender、并把下面宏代码复制到代码编辑区域。
...
代码块 | ||||
---|---|---|---|---|
| ||||
function main(spreadsheetReport) {
//获取名称为 clickme的形状
var shape = spreadsheetReport.shapesMap["clickme"];
if (shape) {
shape.style.cursor = "pointer";
shape.onclick = doShapeButtonClick;
}
}
// "形状"对象的click事件处理函数
function doShapeButtonClick(e) {
var paramsInfo = [];
openURL("openresource.jsp?resid=I4028818a32e86aa801543804fce10fda&showtoolbar=true&refresh=true", [{
name: "paramsInfo",
value: lang.toJSONString(paramsInfo)
}])
};
|
如果需要获取到参数或者报表的其他方法,宏示例如下:
代码块 |
---|
function main(spreadsheetReport) { //获取名称为 clickme的形状 var shape = spreadsheetReport.shapesMap["clickme"]; if (shape) { shape.style.cursor = "pointer"; shape.onclick = doShapeButtonClick; shape.spreadsheetReport = spreadsheetReport; //spreadsheetReport.addListener(shape, "click", doShapeButtonClick, spreadsheetReport); } } // "形状"对象的click事件处理函数 function doShapeButtonClick(e) { var spreadsheetReport = this.spreadsheetReport; var paramsInfo = []; var aa = spreadsheetReport.getParamDisplayValue("开始日期1"); //获取源目标报表的参数值 alert(aa); openURL("openresource.jsp?resid=I4028818a32e86aa801543804fce10fda&showtoolbar=true&refresh=true", [{ name: "paramsInfo", value: lang.toJSONString(paramsInfo) }]) }; |
关键对象总结
- 通过var shape = spreadsheetReport.shapesMap["clickme"] 方法,获取指定的形状对象。
- 通过设置shape.onclick 方法,为形状对象绑定事件处理函数。
...