(本文仅供参考,因代码具有一定场景限制,如和实际应用场景不符合,需根据实际情况自行调整相关代码)
(V10.5.15版本适用,V97不可行)
在电子表格参数面板后,添加重置按钮,点击按钮后将参数重置为默认值。
在电子表格中创建服务端宏模块,界面新建宏,弹出的新建模块对话框中输入名称,选择对象和事件,如下
编写宏代码实现效果
function main(spreadsheetReport) { debugger; var lastCell = spreadsheetReport.paramPanelObj; var paramTable = spreadsheetReport.paramPanelObj.layoutTable; if (paramTable.rows.length === 0) { return; } var i, cell; // 在参数同一行添加按钮 for (i = 0; i < paramTable.rows.length; i++) { cell = paramTable.rows[i].insertCell(-1); if (i == paramTable.rows.length - 1) lastCell = cell; } if (!spreadsheetReport._newBtn) { // 不重复添加按钮 var input = document.createElement("INPUT"); input.type = "button"; input.value = "重置参数"; input.title = "重置参数"; input.style.width = "70px"; input.style.height = "20px"; var newBtn = lastCell.appendChild(input); spreadsheetReport.addListener(input, "click", doNewButtonClick, spreadsheetReport); spreadsheetReport._newBtn = newBtn; } // 新添加按钮Click事件处理函数 function doNewButtonClick(e) { debugger; //alert(spreadsheetReport.params[0].paramValue.value); for (var j = 0; j < spreadsheetReport.params.length; j++) { if (spreadsheetReport.params[j].paramValue) { spreadsheetReport.paramPanelObj.setParamValue(spreadsheetReport.params[j].id, spreadsheetReport.params[j].paramValue.value, spreadsheetReport.getParameterDisplayValue(spreadsheetReport.params[j].paramValue.value)); } else { spreadsheetReport.paramPanelObj.setParamValue(spreadsheetReport.params[j].id, '', ''); } } spreadsheetReport.doRefresh(); //spreadsheetReport.doRefresh(true);// 刷新报表 } } |
点击 保存。重新访问报表,可看到效果已实现