public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); user = (WkTUser) session.getAttribute("user"); tree.setTreeitemRenderer( new TreeitemRenderer() { public void render(Treeitem item, Object data) throws Exception { WkTDept d = (WkTDept) data; item.setValue(d); Treecell t1 = new Treecell(d.getKdName()); Treerow row = new Treerow(); row.appendChild(t1); item.appendChild(row); } }); tree.addEventListener( Events.ON_SELECT, new EventListener() { public void onEvent(Event event) throws Exception { Treeitem item = tree.getSelectedItem(); if (item != null) { WkTDept d = (WkTDept) item.getValue(); openListWindow(d); } } }); loadTree(); if (user.getKdId() == 0) { openTree(tree.getTreechildren(), (WkTDept) departmentService.get(WkTDept.class, 1L)); } else { openTree( tree.getTreechildren(), (WkTDept) departmentService.get(WkTDept.class, user.getKdId())); } }
private void loadTree() { List rlist = new ArrayList(); rootDept = (WkTDept) departmentService.get(WkTDept.class, KdId); rlist.add(rootDept); westTree.setModel(new DepartmentTreeModel(rlist, departmentService, WkTDept.DANWEI)); westTree.setTreeitemRenderer( new TreeitemRenderer() { public void render(Treeitem item, Object data) throws Exception { WkTDept dept = (WkTDept) data; item.setValue(data); item.setOpen(true); item.setLabel(dept.getKdName()); WkTDept department = (WkTDept) userService.get(WkTDept.class, KdId); if (!department.getKdName().equals(dept.getKdName())) item.setOpen(false); if (selectDept != null && selectDept.getKdId().intValue() == dept.getKdId().intValue()) { item.setSelected(true); } } }); westTree.addEventListener( Events.ON_SELECT, new EventListener() { public void onEvent(Event arg0) throws Exception { Treeitem titem = westTree.getSelectedItem(); if (search.isDisabled()) { search.setDisabled(false); } selectDept = (WkTDept) titem.getValue(); dlist = new ArrayList(); addDept(westTree.getSelectedItem(), dlist); initPanel(); } }); }
/* * (non-Javadoc) * * @see org.zkoss.zul.TreeModel#getChild(java.lang.Object, int) */ public Object getChild(Object arg0, int arg1) { if (arg0 instanceof XyUserrole) { XyUserrole urole = (XyUserrole) arg0; return departmentService.get(WkTDept.class, urole.getKdId()); } else if (arg0 instanceof List) { List tlist = (List) arg0; return tlist.get(arg1); } return null; }