注意 | ||
---|---|---|
| ||
本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。 |
应用场景
有时候客户想要在仪表盘中实现,页面中只有一个参数,默认是当前月,如果查询条件设置的日期大于当前月,则用户选择的时候,将参数自动变为当前月。比如:默认当前日期为2015年09月,如果用户选择了2015年09月以前的月份,则参数值设为选择的值,并且显示相应的数据。如果用户选择了2015年09月 以后的月份,则查询参数自动变为2015年09月。
...
- 在资源定制节点下,创建带参数的页面,并把页面参数设置为公共参数。
- 在公共设置 > 宏资源包节点下,创建宏资源包,选择页面,把要同步参数的页面都选中。
- 在报表宏界面新建客户端模块。在弹出的新建模块对话框中选择对象为page;事件为onParamValueChanged;并把下面宏代码复制到代码区域;
宏类型
类型 | 对象 | 事件 |
---|---|---|
ClientSide | page | onParamValueChanged |
宏代码
代码块 | ||||
---|---|---|---|---|
| ||||
function main(page, pageContext, param) { var dateObj = new Date(), year = dateObj.getFullYear(), month = dateObj.getMonth(), currentDate; if (month <= 8) { currentDate = year + "0" + parseInt(month + 1); } else { currentDate = year + "" + parseInt(month + 1); } if (param.value > currentDate) { page.fillParamValue(param.name, currentDate, currentDate); //给参数填值 page.commitParamValue(); //提交参数 page.refreshData(); } } |
...