页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。


注意

提示:本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。

示例说明
在含有下拉框参数的灵活分析中,实现"下拉框参数的值可以互斥选择"。

设置方法

...

类型

对象

事件

ClientSide

simpleReport

onRender

宏代码

代码块
languagejs
themeEclipselanguagejs
firstline1
linenumberstrue
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); 
 } 
 } 
 }

...