页面树结构
转至元数据结尾
转至元数据起始

(本文仅供参考,因代码具有一定场景限制,如和实际应用场景不符合,需根据实际情况自行调整相关代码)

(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);// 刷新报表
}
}

点击 保存。重新访问报表,可看到效果已实现


  • 无标签