function main(simpleReport, simpleReportContext) {
//doCheckDescendents开始
function doCheckDescendents(treeNode, checked) {
debugger;
//响应以前的鼠标事件
this.doCheckDescendents(treeNode, checked);
if (checked == 1) {
onClick(treeNode, 1);
} else {
onUnClick(treeNode);
}
}
function onClick(treeNode, checked) {
debugger;
var flag = 0;
if (checked == 1) flag = 1;
if (treeNode.level !== 0) {
var tmp = treeNode.parentNode;
while (tmp) {
//第一层父节点是否要选中。
var parentChild = tmp.firstChild;
while (parentChild) {
if (parentChild.checked != 1) {
return;
}
parentChild = parentChild.nextSibling;
}
tmp.setChecked(flag);
tmp = tmp.parentNode;
}
}
}
function onUnClick(treeNode) {
debugger;
onClick(treeNode, 0);
var tmp = treeNode.parentNode;
while (tmp) {
tmp.setChecked(0);
tmp = tmp.parentNode;
}
}
//doClick开始
function doClick(e) {
debugger;
//响应以前的鼠标事件
this.btnClick();
//绑定onMouseDown事件
var tree = this.dropDownTreePanel.tree;
tree.onCheckNode.subscribe(doCheckDescendents, tree);
}
var paramPanelObjList = simpleReport.paramPanelObj.paramObjList;
for (var i = 0; i < paramPanelObjList.length; i++) {
var item = paramPanelObjList[i];
if (item.bofClassName == "freequery.control.DropDownTree") { //如果是下拉树表控件
//解除以前的点击事件
item.removeListener(item.btn, "click", item.btnClick);
//绑定自点击事件
item.addListener(item.btn, "click", doClick, item);
}
}
}