示例说明
在含有下拉框参数的灵活分析中,实现"下拉框参数的值可以互斥选择"。
设置方法
宏类型
类型 | 对象 | 事件 |
ClientSide | simpleReport | onRender |
宏代码
function main(simpleReport, simpleReportContext) { //doSelectChange开始 function doSelectChange(e) { //响应以前的鼠标事件 this.doPanelMouseDown(e); if (this.dropdownBox.isVisible() && !this.dropdownBox.pointInPanel(e.target)) return; //得到当前选择的项目 var selectText = ""; var isAll = false; var isOnlyAll = false; if (this.dropdownBox.selectItem) { selectText = this.dropdownBox.selectItem.innerText; isAll = false; //根据参数真实值进行判断,当参数值为"全部"的时候实现互斥 if (selectText == "全部") isAll = true; } for (var i = 0; i < this.dropdownBox.panel.children.length; i++) { var tmpObj = this.dropdownBox.panel.children[i]; if (isAll) { if (tmpObj.lastChild.innerText != "全部") { tmpObj.firstChild.checked = false; tmpObj.children[0].firstChild.checked = false; } } else { if (tmpObj.lastChild.innerText == "全部") { tmpObj.firstChild.checked = false; tmpObj.children[0].firstChild.checked = false; } } } } //doSelectChange结束 var paramPanelObjList = simpleReport.paramPanelObj.paramObjList; for (var i = 0; i < paramPanelObjList.length; i++) { var item = paramPanelObjList[i]; if (item.bofClassName == "freequery.control.ComboBox") { //如果是下拉列表控件 if (!item.dropdownBox.needCheckBox) continue; //绑定onMouseDown事件 item.dropdownBox.onMouseDown.subscribe(doSelectChange, item); } } } |
关键对象总结