注意 | ||
---|---|---|
| ||
本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。 |
示例说明
在回写时,可能需要根据某个值判断另一个单元格是否允许回写,具体可以参考下面这个例子。
当平铺参数选择“是”,则允许回写,
当平铺参数选择“否”,则不允许回写,
版本及客户端说明
1.版本:最新版本
2.PC端
3.浏览器:IE、Chrome、Firefox
...
1.创建电子表格
首先在电子表格设计器中,创建电子表格报表。
2.设置填报属性
设置C2单元格的填报属性绑定一个平铺面板参数
设置E2单元格的填报属性为文本
3.进入宏界面
选中电子表格,右键选择 编辑宏 进入报表宏界面。
4.创建客户端宏
在报表宏界面新建客户端模块。在弹出的新建模块对话框中,选择对象为spreadsheetReport、事件为onRenderReport、并把下面宏代码复制到代码编辑区域。
...
代码块 | ||
---|---|---|
| ||
function main(spreadsheetReport) { spreadsheetReport.spreadsheetReportWriteBack.updateWriteBackData_old = spreadsheetReport.spreadsheetReportWriteBack.updateWriteBackData; spreadsheetReport.spreadsheetReportWriteBack.updateWriteBackData = function(sheetIndex, position, td, oldValue, value, displayValue, type) { var cell = spreadsheetReport.elemSheetFrame.contentWindow.writableMap[position]; if (cell.cell == "C2") { //判断当前回写的单元格是不是C2 if (value == "否") { //判断C2单元格的值是不是"否" //要设置不可回写的单元格在示例中是E2,其坐标为(1,4),因此下面代码中需要对writableMap中[1:4]进行设置 if (spreadsheetReport.elemSheetFrame.contentWindow.writableMap["1:4"]) { spreadsheetReport.elemSheetFrame.contentWindow.writableMap["bak.1:4"] = spreadsheetReport.elemSheetFrame.contentWindow.writableMap["1:4"]; delete spreadsheetReport.elemSheetFrame.contentWindow.writableMap["1:4"]; } } else { if (spreadsheetReport.elemSheetFrame.contentWindow.writableMap["bak.1:4"]) { spreadsheetReport.elemSheetFrame.contentWindow.writableMap["1:4"] = spreadsheetReport.elemSheetFrame.contentWindow.writableMap["bak.1:4"]; delete spreadsheetReport.elemSheetFrame.contentWindow.writableMap["bak.1:4"]; } } } this.updateWriteBackData_old(sheetIndex, position, td, oldValue, value, displayValue, type); } } |
...
资源下载
...