今天做了一个项目,项目的需求要能通过关键字来是查询TreePanel,其实如果来实现这个查询并不难,无非就是在原有的基础之上再加上查询条件,并且在重新加载树。原理已经清楚,那动手进行下一步。
首先,查看原有加载树的代码,得到原有树的加载URL已经指定,那么,现在我们要做的就是在查询时在这个URL地址上加上我们的查询条件,
Tree.loader.dataUrl = encodeURI(encodeURI('enterprise!findTreeBySearch.action?id='+Globle.user.orgId + '&orgName=' + searchContent));
动态指定出这棵树的dataUrl地址,并且,查询内容中涉及到中文,要进行转译,后台解析代码:
java.net.URLDecoder.decode(ServletActionContext.getRequest().getParameter("orgName"),"UTF-8");
具体如何来解析,请参考当时我参阅的地址:
http://hi.baidu.com/whd850809/blog/item/eb106d3588e0181990ef39dd.html
至此,完成TreePanel的动态指定url地址,最后别忘记,重新加载树
Tree.root.reload();
Tree.expandAll(); //展开所有叶子节点