(此文档仅供参考!)
问题说明
场景同回写-电子表格参数引用回写字段,回写保存数据后参数备选值实时刷新但需要在web电子表格中实现,其中步骤一方案可实现场景1,但是步骤二中的宏事件onWriteBackSavedData在web电子表格中并没有对应事件,应该如何实现场景2 参数默认值设置了的情况下回写时也刷新默认值呢?
解决方案
注:若不确定web电子表格中的参数id、name、alias,可参考电子表格获取参数ID用宏代码获取
参考宏示例如下:
//客户端宏 事件onRenderReport function main(spreadsheetReport) { var spreadsheetReportWriteBack = spreadsheetReport.spreadsheetReportWriteBack; if (!spreadsheetReportWriteBack.doSaveClick0802 && spreadsheetReportWriteBack.doSaveClick_ext_workflow) { spreadsheetReportWriteBack.doSaveClick0802 = spreadsheetReportWriteBack.doSaveClick_ext_workflow; spreadsheetReportWriteBack.doSaveClick_ext_workflow = function(e) { this.doSaveClick0802(e); setTimeout(function() { //刷新默认值 // 参数id,需要指定 var paramId = 'SELF_QUERY_PARAM.ParamDefine.43a811c8f9a450845a3c205466f686ae'; var ret = util.remoteInvoke('ParameterPanelService', 'getParamStandbyValue', [spreadsheetReport.paramPanelObj.clientId, paramId]); if (ret.retCode === 0 && ret.result && ret.result.length > 0) { var value = ret.result[ret.result.length - 1]; // 传入参数:参数id、参数真实值、参数显示值 this.spreadsheetReport.setParamValue(paramId, value[0], value[1]); } }, 300); } } }
最终效果,就可以实现参数默认值也刷新