rich:tree nodeSelectListener Problem
ssher Jun 25, 2011 3:48 AMHello buddies,
I m getting a problem while selecting node, nodeSelectListener some times calls and sometimes not. i dont know why this happend here is the code.
<rich:tree id="tree_a" ajaxSingle="true" nodeSelectListener="#{orgTreeManager.processSelection}"
ajaxSubmitSelection="true" switchType="client"
value="#{orgTreeManager.treeNode}" var="item" >
<rich:treeNode reRender="txt_msg,btn_save,txt_name,txt_addr,combo_level,combo_status,txt_email,txt_fax,txt_ph,txt_code,txt_desc,combo_dept,combo_site">
<ajax:commandLink id="abc" value="#{item}" styleClass="textbold" />
</rich:treeNode>
/*
*processSelection call when node is selected , this method get the selected node id communicate with database to get record and populate form
*/
public void processSelection(NodeSelectedEvent event){
HashMap rdata = new HashMap();
this.message = "";
this.mode = "edit";
HtmlTree tree = (HtmlTree) event.getComponent();
this.orgName = (String) tree.getRowData();
HMISUtils.printMessage(tree.getRowKey());
String code = tree.getRowKey().toString();
code = code.replace(':', '0');
this.orgCode = "0".concat(code);
HMISUtils.printMessage(this.orgCode);
rdata.put(APP_OBJECT.ORGANIZATION, this.orgCode);
rdata = orgTreeProcessorLocal.processTree(rdata, APP_ACTIONS.FIND);
this.orgTreeEntity = (OrganizationTree) rdata.get(APP_OBJECT.TREE);
this.hospitalCode = this.orgCode.substring(0, 2);
rdata.put(APP_OBJECT.HOSPITAL, this.hospitalCode);
this.nodesList = (ArrayList) fkDataProcessorLocal.retrieveFKData(rdata, FK_ID.PARENT);
if(this.orgCode.length() == 2){
this.parentCode = "";
this.orgParentStatus = "";
this.levelList.clear();
this.levelList.add(new SelectItem("S","Site"));
}else if(orgCode.length() > 2){
this.parentCode = orgTreeEntity.getOrganizationTree().getOrgCode();
this.orgParentStatus = orgTreeEntity.getOrgIsParentIa();
this.levelList.clear();
if(orgTreeEntity.getOrgType().equalsIgnoreCase("R")){
this.levelList.add(new SelectItem("R","Reporting"));
}else if(orgTreeEntity.getOrgType().equalsIgnoreCase("O")){
this.levelList.add(new SelectItem("R","Reporting"));
this.levelList.add(new SelectItem("O","Operational"));
}
}else{
this.parentCode = "";
}
this.orgCode = orgTreeEntity.getOrgCode();
this.orgName = orgTreeEntity.getOrgName();
this.orgAddress = orgTreeEntity.getOrgAddress();
this.orgDesc = orgTreeEntity.getOrgDesc();
this.orgPhoneno = orgTreeEntity.getOrgPhoneno();
this.orgFax = orgTreeEntity.getOrgFax();
this.orgEmail = orgTreeEntity.getOrgEmail();
this.orgStatus = orgTreeEntity.getOrgStatus();
this.orgType = orgTreeEntity.getOrgType();
}