注意 | ||
---|---|---|
| ||
本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。 |
示例说明
在实际项目中,报表中有些数据比较敏感,这些数据只能查看不能进行复制。通过屏蔽报表中右击功能,则实现该功能。在smartbi需求通过宏实现蔽报表中右击功能。效果图如下:
设置方法
在浏览器的资源定制节点下,选中电子表格,右键选择 编辑宏 进入报表宏界面,在报表宏界面添加【客户端模块】,在报表宏界面新建客户端模块,在弹出的新建模块对话框中选择对象为spreadsheetReport;事件为onRender;并把下面宏代码复制到代码区域。
...
类型 | 对象 | 事件 |
---|---|---|
ClientSide | spreadsheetReport | onRender |
宏代码
代码块 | ||||||
---|---|---|---|---|---|---|
| ||||||
function main(spreadsheetReport) {
var doc = spreadsheetReport.elemSheetFrame.contentWindow.document;
doc.documentElement.oncontextmenu = doc.body.oncontextmenu = function() {
return false;
};
doc.onkeydown = function(e) {
var ev = e || window.event;
if (ev && ev.ctrlKey || ev.metaKey && ev.keyCode == 67) { // Ctrl + C
return false;
}
}
doc.onselectstart = function() {
// return false; // 禁止选择文本
}
} |
示例说明
在实际项目中,报表中有些数据比较敏感,这些数据只能查看不能进行复制。通过屏蔽报表中右击功能,则实现该功能。在smartbi需求通过宏实现蔽报表中右击功能。效果图如下:
设置方法
在浏览器的资源定制节点下,选中电子表格,右键选择 编辑宏 进入报表宏界面,在报表宏界面添加【客户端模块】,在报表宏界面新建客户端模块,在弹出的新建模块对话框中选择对象为spreadsheetReport;事件为onRender;并把下面宏代码复制到代码区域。
宏类型
类型 | 对象 | 事件 |
---|---|---|
ClientSide | spreadsheetReport | onRender |
宏代码
代码块 | ||||||
---|---|---|---|---|---|---|
| ||||||
function main(spreadsheetReport) {
var doc = spreadsheetReport.elemSheetFrame.contentWindow.document;
doc.documentElement.oncontextmenu = doc.body.oncontextmenu = function() {
return false;
};
doc.onkeydown = function(e) {
var ev = e || window.event;
if (ev && ev.ctrlKey || ev.metaKey && ev.keyCode == 67) { // Ctrl + C
return false;
}
}
doc.onselectstart = function() {
// return false; // 禁止选择文本
}
} |
...