select case when connect_by_isleaf = 1 then 0 when level = 1 then 1 else -1 end as status, level, ENAME as title, NULL as icon, EMPNO as value, ENAME as tooltip, NULL as link from EMP start with (:P1_MGR is null AND MGR is null OR :P1_MGR is not null and MGR = :P1_MGR) connect by prior EMPNO = MGR order siblings by ENAME
As far as I know APEX has no out of the box function for that. The dynamic action to refresh reports doesn't work with trees. Or am I wrong here?
You can follow different workarounds no one of them will fulfill all your hopes:
1. Wait for APEX 5.0 maybe the APEX team will include a dynamic tree update functionality?
2. Build some custom JS code to dynamically change the tree.
3. Don't make it dynamically. Submit the page after you have changed the APEX item.
4. Use a third party solution for example: dhtmlx tree
5. Build your own tree solution (plug-in).
I would tend to solution 3 and would wait for the next version of APEX. If the customer doesn't accept it and would pay the more efforts I would tend to a third party solution.
Take a look at Tom's blog he made a couple of really good tree based blog posts.