(本文档仅供参考,如和实际应用场景不符合,需要自行调整相关宏代码)
问题
如何实现可回写的电子表格报表,当用户是admin时单元格不可编辑。
解决方案
宏代码参考示例如下:
类型 | 对象 | 事件 |
---|---|---|
ClientSide | spreadsheetReport | onRender |
function main(spreadsheetReport, isAjaxRefreshCallback) { var cells = spreadsheetReport.elemSheetFrame.contentWindow; //获取当前用户 var util = jsloader.resolve("freequery.common.util"); var ret = util.remoteInvoke("UserService", "getCurrentUser", []); var userName = ret.result.name; // 如果当前用户是管理员用户则不可修改报表 if ("admin" == userName) { if (cells.writableMap["2:4"]) { cells.writableMap["bak.2:4"] = cells.writableMap["2:4"]; delete cells.writableMap["2:4"]; } } }