示例说明
在某特定情况下,需要实现在页面中当参数为空的时提示用户输入参数的值,效果如下:
设置方法
- 在【门户定制】创建案例类似的页面。
- 在【定制】->【宏管理】的左边资源树上找到对应页面,右击【编辑宏】->创建【客户端模块宏】。
- 在报表宏界面新建客户端模块。在弹出的新建模块对话框中选择对象为page;事件为onRenderPage;并把下面宏代码复制到代码区域,如下图:
宏类型
类型 | 对象 | 事件 |
ClientSide | page | onRenderPage |
宏代码
function main(page, pageContext) { var paramTable = page.paramPanel.layoutTable; var i, cell, lastCell; for (i = 0; i < paramTable.rows.length; i++) { cell = paramTable.rows[i].insertCell(-1); if (i == paramTable.rows.length - 1) lastCell = cell; } //新建button,并把这个button加到最后一个参数后面 var btnElem = document.createElement("input"); btnElem.type = "button"; btnElem.title = "查询"; btnElem.className = "queryview-toolbar-button"; btnElem.setAttribute("style", "background:#FFFFFF url(img/querygrid/setting.gif) no-repeat left center;"); // btnElem.style.background = " url(img/querygrid/setting.gif) no-repeat left center"; btnElem.onclick = doClick; lastCell.appendChild(btnElem); //定义button的Click事件 function doClick() { var param1 = page.getParamValueByName("产品类别-无默认值"); var param2 = page.getParamValueByName("销售时间-无默认值"); if (param1.value == "" && param2.value == "") { alert("产品类别-无默认值和销售时间-无默认值参数都为空,请输入它们的值"); } else { page.pageUtil.refreshData(); } } }