ADF Faces af:tree expand/collapse node

Any help appreciated. Is there a way to specify in the tree model if you want a node expanded or collapsed? I am using the ChildPropertyTreeModel and TreeNodeImpl as the nodes. Can I add an additional property to the Tree Node?
Thanks

There isn't anything in the framework that lets you specify tree expansion state in the model. The frameword tries to preserve the abstraction between the model (which should only contain data) and the UI component (which handles expansion state).
You can build a custom renderer for the tree where you can remember which paths from your model are expanded, and then set the expansion state of the tree programmatically by calling the UIXTree.setTreeState() method. It takes a set of paths, with each path corresponding to a path you want to be expanded.

Similar Messages

  • Issue With ADF Tree Expand/Collapse

    Hi All,
    I have a customer who is having issues using the af:tree component on a deployed application. When he tries to expand or collapse a node of the tree, the icon just blinks. This is occurring not only on our application, but also the Oracle ADF Rich Client Demo on http://jdevadf.oracle.com/adf-richclient-demo/faces/components/tree.jspx. He is using Internet Explorer v7.0.5730.13. As far as I can tell, our browser settings are identical, but I can use the tree without a problem.
    Any ideas as to what the problem could be?
    Thanks,
    Brad

    Unfortunately, Internet Explorer is the only browser that is authorized to run on his computer.
    Do you know of any specific IE settings that would cause the af:tree not to work?

  • Af:tree expand/collapse customization

    hi all,
    i have problem with af:tree expand and collapse.
    I want to expand only one node in each level.
    i mean let say i have 3 node in same level.
    i expand first one then i expand second node again. at that time, first one should be collapsed automatically.
    So, user can expand only one node in each level at one time.
    is it possible?
    With Regards,
    WP

    hi Sireesha,
    it is really helpful. but it is still something wrong for child node.
    only root node is working as i want.
    but when i click on child node, it go back to default and every node is collapse.
    if i found the following logic is not working for child node.
    discloseRowKeySet.add(firstKey);
    eg. let say fristkey is (2,0) then it should open 2 and then second level 0. but it can't open any node.
    do u have any idea?
    With Regards,
    WP

  • Af:tree expand/collapse issue

    I use af:tree inside af:dialog. When the dialog is displayed I want the tree to be displayed just with root node. Child nodes should be displayed only when the root node is expanded. I have set "expandAllEnabled" property to "false" and "initiallyExpanded" to "false".
    When the dialog pops up for the first time, everything works fine. meaning only the root node is displayed and only when it is expanded child nodes are displayed.
    But when I close the dialog and bring it up again, I see that the root node is already expanded. I do not want root node to be expanded when the tree is loaded.
    Any idea if I need to set anything explicitly for this? I tried clearing the child elements of the tree component(treeComp.getChildren().clear();), but no use. I construct the treeModel every time the dialog comes up.
    Appreciate your help.
    Thanks
    Suma

    Hi
    First of all see if your af:dialog has the contentDelivery="lazyUncached" . This way your popup would not be cached.
    If this is not the solution , then try:
    tree.getDisclosedRowKeys().removeAll();This will remove all disclosed rowKeys.
    A.Gruev

  • DHTML Tree Expand-Collapse ALL buttons

    Hi
    I am using at DHTML Tree (in APEX 3.0.1) as a menu. I am wondering if it is possible to add buttons (or link) to the region which a user can click to expand all or collapse all nodes in the tree.
    I don not want the tree to be expanded or collapsed all the time (as when using the Tree List template)
    Thanks

    Anyone?

  • ADF Faces - af:tree - updating nodeStamp components

    My tree's nodeStamp is an af:selectBooleanCheckbox which maps to a hierarchy of items of indeterminate depth. There are usually at least 3 levels however. If I toggle a parent checkbox then all the child checkboxes must also toggle to match. That is the whole point of the parents in this tree is to be able to turn on or off sets of children, grand-children etc. This should be a pretty standard thing to do with trees. However, I have a bit of a dilemma and I'm hoping that someone out there can help me.
    When I toggle a parent checkbox the ThemeTree.valueChangeListener does a getModel().getRowData() to return the current row. I can then traverse the model tree from that instance to toggle all the children to match the state of the parent. From the model perspective everything works fine.
    However, if the tree is expanded when the parent state is changed, the visual state of the children do not change! The parent Checkbox is unchecked but the child Checkboxes remain checked :(or visa versa):
    Now to make things even more weird. If I close the parent tree and reopen it the children remain out of sync with the parent; even though the backing code model data is properly set.
    Even weirder. If the parent Checkbox is not expanded and I change the state and then I open the parent all the child Checkboxes are CORRRECTLY set.
    My jsp code looks as follows.
    <af:panelGroup partialTriggers="theme_display">
    <af:tree id="theme_tree" var="theme"
           binding="#{ThemeTree.tree}"
           value="#{ThemeTree.model}"
           partialTriggers="theme_display">
    <f:facet name="nodeStamp">
      <af:panelGroup layout="horizontal">
        <af:objectImage source="#{theme.graphic}"
                        rendered="#{theme.graphic != null}"
                        align="right"/>
        <af:objectSpacer width="3"
                         rendered="#{theme.graphic != null}"/>
        <af:selectBooleanCheckbox id="theme_tree_row"
                                  value="#{theme.display}"
                                  text="#{theme.displayName}"
                                  shortDesc="#{theme.shortDesc}"
                                  autoSubmit="true" immediate="true"
                                  valueChangeListener="#{ThemeTree.valueChangeListener}"/>
      </af:panelGroup>
    </f:facet>
    </af:tree>
    ....My ValueChangeListener looks like this.
        public void valueChangeListener(ValueChangeEvent vce) {
            if (tree != null) {
                setTreeChangeHappening(true);
                ThemeTreeBean currentTheme = (ThemeTreeBean)treeModel.getRowData();
                if (currentTheme.getChild() != null) {
                    boolean display = ((Boolean)vce.getNewValue()).booleanValue();
                    currentTheme.setDisplayAll(display);
                //TODO: is this doing what I think it is doing?  I'm starting to think not.
                AdfFacesContext afc = AdfFacesContext.getCurrentInstance();
                UIComponent checkBox = vce.getComponent();
                String id = checkBox.getId();
                int i = treeModel.getRowIndex();
                while (treeModel.isRowAvailable()) {
                    ThemeTreeBean themeBean = (ThemeTreeBean)treeModel.getRowData();
                    String x = themeBean.getName(); // used for debugging
                    String y = themeBean.getDisplayName(); // used for debuggin
                    afc.addPartialTarget(checkBox); // this might do something if we could get the instance of the UIComponent from the treeModel
                    afc.partialUpdateNotify(checkBox);
                    treeModel.setRowIndex(++i);
        }List of things that I've tried
    (a) I know how to AdfFacesContext.getCurrentInstance().addPartialTarget(vce.getComponent()) and ...partialUpdateNotify(same) but I haven't figured out how to get a handle on the UIComponent instances of the child Checkboxes. The components inside a nodeStamp facet seem to live an arms-length existance. I tried binding the selectBooleanCheckbox to a CoreSelectBooleanCheckbox property in my var class (theme) but this just doesn't work: ADF does not appear to allow it.
    (b) I tried various combinations using partialTriggers (no luck there).
    (c) The id cannot be a JSF expression (even though the JDeveloper tip claims it can; the ADF documentation says no) so I cannot get the id to find the UIComponent of the children. (Are there UIComponents of the children?)
    (d) I tried traversing the treeModel using the setRowIndex(int) method but this only stepped me through the parent level, it did no return the children. Even if it did I'm not sure how I would force the visual update of the child.
    The long and short of it is that the behaviour of components inside the nodeStamp is different and it makes for a real problem. I'm about to abandon the af:tree and see if there is anything in myfaces that might help. But before I give up altogether, I thought that I'd ask one more time to see if anyone out there could give me a hint for anything else to try.
    Thanks in advance, Mark

    More information: You cannot use the var attribute to bind the SelectBooleanCheckbox because it is not a managed bean and you can only bind to managed beans. So I created a CoreSelectBooleanCheckbox property in the ThemeTreeTree class (which is a managed bean) with the intent of matching references to the checkBox property as it rippled through the list.
    BUT...it doesn't ripple through the list. There is only one instance of the CoreSelectBooleanCheckbox which appears to be shared by all the visible components.
    So ... I'm still stumped.

  • Network UI - JNET - Generic Tree Layout - Collapse Node

    Hi,
    we are using a generic tree layout in network ui component to display organizational chart.
    The problem is that when a node in this organizational chart is collapsed there is empty space left which has been occupied by this node and its child nodes before.
    Is there a way to prevent this from happening, for example: during node collapse the chart reorganizes itself
    so that there is no unnecessary empty space?
    Regards,
    Ladislav

    Hi,
    Following link might be useful for you.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/com.sap.km.cm.docs/lw/webdynpro/jnet_jgantt%20developer%20documentation/api/com/sap/jnet/package-summary.html#commands
    Regards
    Ayyapparaj

  • ADF Faces: Update Tree Contents

    Does anyone know how to update the contents of a Tree component.

    To be more specific, I want to be able to refresh the tree contents CRUD (Create, Read, Update, Delete) operations are performed on the tree nodes.
    Currently I provide a tree model by extending ChildPropertyTreeModel.
    On every CRUD operation I create a new model, but the tree does reflect the contents of the new model.
    How do can I make the tree refresh it's contents?

  • ADF Faces af:tree

    Does anyone know where to find an example of a data bound tree?
    The static one here(http://www.oracle.com/technology/products/jdev/htdocs/partners/addins/exchange/jsf/doc/tagdoc/core/tree.html) isn't very helpful.
    Thanks.

    if you're redisplaying the same page, then the tree
    will automatically remember the expansion state.
    however, if you are returning to the page from some other page, then the tree would have reset.
    in order to preserve the expansion state of the tree, you need to use a managed-bean. set
    <tree binding="#{mybean.myTree}" ..>
    now, the setMyTree(UIComponent tree) method will be called
    on your bean.
    get the treeState from that:
    tree.getTreeState()
    and save it on your class.
    then you can set it on the tree on subsequent requests.
    make sure the scope of your managed bean is
    session

  • Tree table-initially expand all nodes raises error when closing a node 11g

    Hello,
    Frank Nimphius posted a blog entry about how to initially display all the nodes in a tree or table here:
    [http://thepeninsulasedge.com/frank_nimphius/2007/12/19/adf-faces-rc-initially-expanding-all-nodes-in-a-tree-or-tree-table/|http://thepeninsulasedge.com/frank_nimphius/2007/12/19/adf-faces-rc-initially-expanding-all-nodes-in-a-tree-or-tree-table/]
    This works very well. However, when the user tries to close a node, a NullPointerException is thrown.
    Below is the stacktrace.
    Does anyone know how to work around that issue?
    java.lang.NullPointerException
         at org.apache.myfaces.trinidad.model.RowKeySetTreeImpl$Search.find(RowKeySetTreeImpl.java:608)
         at org.apache.myfaces.trinidad.model.RowKeySetTreeImpl._setContained(RowKeySetTreeImpl.java:496)
         at org.apache.myfaces.trinidad.model.RowKeySetTreeImpl.add(RowKeySetTreeImpl.java:97)
         at oracle.adfinternal.view.faces.renderkit.rich.TableRendererUtils.decodeDisclosedRowKeys(TableRendererUtils.java:774)
         at oracle.adfinternal.view.faces.renderkit.rich.table.BaseTableRenderer.decodeIncompatiblePropertyKey(BaseTableRenderer.java:198)
         at oracle.adf.view.rich.render.RichRenderer.decode(RichRenderer.java:203)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.__rendererDecode(UIXComponentBase.java:1089)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decode(UIXComponentBase.java:714)
         at org.apache.myfaces.trinidad.component.UIXTreeTable.decode(UIXTreeTable.java:133)
         at org.apache.myfaces.trinidad.component.UIXCollection.processDecodes(UIXCollection.java:193)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl$ApplyRequestValuesCallback.invokeContextCallback(LifecycleImpl.java:1113)
         at org.apache.myfaces.trinidad.component.UIXCollection.invokeOnComponent(UIXCollection.java:1030)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.invokeOnComponent(ContextSwitchingComponent.java:153)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.invokeOnComponent(ContextSwitchingComponent.java:153)
         at oracle.adf.view.rich.component.fragment.UIXPageTemplate.invokeOnComponent(UIXPageTemplate.java:208)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:664)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:303)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:175)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:181)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:85)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:279)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:239)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:196)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:139)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at edu.wisc.csa.web.ApplicationSessionExpiryFilter.doFilter(ApplicationSessionExpiryFilter.java:66)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at edu.wisc.csa.web.ResponseHeaderFilter.doFilter(ResponseHeaderFilter.java:36)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at oracle.security.jps.wls.JpsWlsFilter$1.run(JpsWlsFilter.java:85)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:257)
         at oracle.security.jps.wls.JpsWlsSubjectResolver.runJaasMode(JpsWlsSubjectResolver.java:250)
         at oracle.security.jps.wls.JpsWlsFilter.doFilter(JpsWlsFilter.java:100)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:65)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(Unknown Source)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

    OK I have tried Frank's suggestion about the 2 entries in the managed bean and it works but I cannot collapse my child node !
    I have a Master-Detail-Detail setup.
    In the Grandparent I have this :
    RowKeySet rks = new RowKeySet(true);
    table1.setDisclosureState(rks);
    this.grandParentTable = table1;
    and in my Parent table I have this :
    RowKeySet rks = new RowKeySet(true);
    table2.setDisclosureState(rks);
    this.parentTable = table2;
    ie the same.
    In my child I have nothing just the default accessors.
    The collapse works OK for the Grandparent but when I click Hide for the Parent it does not do anything - no error message either.
    cheers

  • When using numericupdown to expand/collapse treeView nodes. Why the collapse part is not working ?

    I have a treeView in my form1 designer. The treeView variable name is: treeViewMS1
    When i'm running my program the treeView is automatic expanded to level 1:
    Now if i click on the numericUpDown and change the value to 2 then:
    So the expanded part is working fine when i change of the numericUpDown by one up the expanded is working fine.
    Now when it's on level 2 and i change the numericUpDown back to value 1 that's level 1 instead get back to my first screenshot Expanded level 1 it's getting back to the root level 0.
    and i want that the collapse part will move only one level back but it dosen't matter if i'm on expanded level 2 or 3 or 5 it will allways jump to 0 to the root.
    This is the numericUpDown value changed event:
    decimal oldValue;
    private void numericUpDown1_ValueChanged(object sender, EventArgs e)
    if (numericUpDown1.Value > oldValue)
    ExpandToLevel(treeViewMS1.Nodes, (int)numericUpDown1.Value);
    else
    CollapseToLevel(treeViewMS1.Nodes, (int)numericUpDown1.Value);
    oldValue = numericUpDown1.Value;
    ExpandToLevel method:
    void ExpandToLevel(TreeNodeCollection nodes, int level)
    if (level > 0)
    foreach (TreeNode node in nodes)
    node.Expand();
    ExpandToLevel(node.Nodes, level -1);
    And CollapseToLevel method:
    void CollapseToLevel(TreeNodeCollection nodes, int level)
    if (level > 0)
    foreach (TreeNode node in nodes)
    node.Collapse();
    CollapseToLevel(node.Nodes, level - 1);

    I solved it this way:
    I solved it like this: In the Form1_Load event i did:
    SetToLevel(treeViewMS1.Nodes, 1);
    In my case i wanted it to begin by default in level 1.
    Then in the numericupdown1 changed value event:
    private void numericUpDown1_ValueChanged(object sender, EventArgs e)
    SetToLevel(treeViewMS1.Nodes, (int)numericUpDown1.Value);
    Then the method SetToLevel:
    void SetToLevel(TreeNodeCollection nodes, int level)
    foreach (TreeNode node in nodes)
    node.Collapse(false);
    ExpandToLevel(nodes, level);
    And last the method EXpandToLevel:
    void ExpandToLevel(TreeNodeCollection nodes, int level)
    if (level > 0)
    foreach (TreeNode node in nodes)
    node.Expand();
    ExpandToLevel(node.Nodes, level -1);
    And now it's working perfect like i wanted it to work. When changing the numericupdown value it's changing the node tree expand/collapse levels.

  • How to generate ADF Faces Tree from table ?

    Hi,
    i want to create menu for my application using ADF Faces af:tree component.i have one table containing : menu_id and parent_id , which use for describing relationship between menu ( parent/child ).
    Fact : i've already know how to create adf faces af:tree component from master/detail relationship tables.
    The question : how to create adf faces af:tree component from recursive master/detail relationship in one table ?
    to clearer understand my question,this is my MENU_DATA table script :
    CREATE TABLE MENU_DATA
    MENU_ID VARCHAR2(5 BYTE),
    DESCRIPTION VARCHAR2(50 BYTE),
    OPENLINK VARCHAR2(200 BYTE),
    PARENT_ID VARCHAR2(5 BYTE)
    this is what i mean recursive master/detail relationship ...
    ALTER TABLE MENU_DATA ADD (
    CONSTRAINT FK_PARENT_MENU_ID
    FOREIGN KEY (PARENT_ID)
    REFERENCES MENU_DATA (MENU_ID));
    Thanks a lot for help gurus...
    Ricky HP

    I have the same question on my mind...
    Without creating n (same number of level depth) VO, how can I build a recursive ADF Faces Tree ???

  • ADF Faces setParent() method

    Hi,
    I'm trying to build an ADF Faces component tree dynamically. In particular, I'm trying to add an HtmlRowLayout to an HtmlTableLayout.
    Although my code appears to run without throwing errors, the <TABLE> tag that gets generated is empty. I'm not sure, but I think it might have something to do with my mechanism of adding one component to the other.
    I've been calling
    myHtmlRowLayout.setParent(myHtmlTableLayout);Which sort of looks like it's working. The _parent property of myHtmlRowLayout is indeed getting changed. But it doesn't look like this actually adds the HtmlRowLayout to the HtmlTableLayout's _children list.
    Is there some method I have to call to "close up" the tree this way? I'd sort of expected that any process that would make X Y's parent would also make Y X's child.
    Edit:
    OK, I figured this out. It's not sufficient to call setParent() on the child, you have to explicitly add the child to the parent's list of children:
    myHtmlTableLayout.getChildren().add(myHtmlRowLayout);So, question: What does setParent() do? THis makes it look like you could have weird asymmetric parent/child relationships: Where the child of X is Y, but the parent of Y is not X. To be on the safe side, in my code I'm calling both, but is there a use case for calling one but not the other? If not, an ER: Could setParent() do everything required to set up a parent-child relationship between two components?
    Message was edited by:
    Avrom

    setParent() is a method from the JSF UIComponent class; if you want to find out what it does, check the Javadoc for JSF, which says:
    Set the parent UIComponent of this UIComponent. This method must never be called by developers; a UIComponent's internal implementation will call it as components are added to or removed from a parent's child List or facet Map.
    Always, just call getChildren().add() or getFacets().put(). NEVER call setParent().

  • ADF: Tree Refresh after Expanding a node. Please Frank have a look!

    About this post:
    Re: ADF: Tree Refresh after Expanding a node
    Frank answered that he doesn't notice that behavior. I found out that this happens if an appication uses a custom skin.
    In SRDemoSampleADFBC, SRManage.jspx (Management from menu), if you make the explorer window small enough not to cover the whole tree, you can notice this (the page jumps to the top).
    Now if you change in adf-faces-config.xml the "skin-family" tag to "oracle", you will see that the tree component has changed (it has no triangle icons why this happens) and the page doesn't refresh.
    Minas

    It seems that there's more to the tree expansion icon than the skin definition. We're using the minimal skin and ADF puts out a special character to represent the disclosure symbol (which by the way, renders differently on IE6, than IE7, than Safari or Firefox on Mac). However, switching to the Oracle skin, the disclosure symbol comes out as a full-on image (triangle including the +). We have found this frustrating because the triangles seem not sufficiently suggestive to our users - but switching to the Oracle skin has other issues with white-on-white text.
    But in any case, the tree refresh after node expansion is another annoyance as I described in the other thread linked here (including URL to see problem in action).
    Cheers, Mark

  • How do I create multiple types of child nodes in ADF  Faces Tree Component

    Hi,
    I am trying to construct a tree using ADF Faces. The tree I am trying to develop should look something like:
    - Departments
    + Dept 10
    + Dept 20
    + Dept 30
    + Dept 40
    - Employees
    + SCOTT
    +ALLEN
    + BLAKE
    The nodes shown at the top level should serve as labels, indicating the various types of nodes available.
    I have created the top level RootLabelsViewObj, with a SQL clause:
    select rn, node_label
    from (
    select 1 rn
    , 'Employees' node_label
    from dual
    union all
    select 2 rn
    , 'Departments' node_label
    from dual
    union all
    select 3 rn
    , 'Bonusplans' node_label
    from dual
    I have created ViewLinks between the RootLabelsViewObj and the DeptView and EmpView respectively (created on top of DEPT and EMP table in SCOTT schema), based on the LABEL attribute in the RootLabelsViewObj and with ViewLink SQL specified like:
    :Bind_NodeLabel = 'Departments' for the link with DeptView and :Bind_NodeLabel = 'Employees' for the link with EmpView.
    In the ADF BC Application Module Tester, I get exactly what I want.
    However, when I create a JSF JSPX page and drag the RootLabelsViewObj from the Data Control Panel to the page as ADF Tree, I run into a little issue: it seems like I cannot create a second Branch Accessor rule for the RootLabelsViewObj1: I have created a first Branch Accessor Rule referring to DeptView and now try to create a second one for EmpView, to allow Employees to be displayed under the root label "Employees" - but I cannot.
    The PageDefinition looks like:
    <tree id="RootLabelsViewObj1" IterBinding="RootLabelsViewObj1Iterator">
    <AttrNames>
    <Item Value="Rn"/>
    <Item Value="NodeLabel"/>
    </AttrNames>
    <nodeDefinition DefName="model.RootLabelsViewObj"
    id="RootLabelsViewObjNode">
    <AttrNames>
    <Item Value="NodeLabel"/>
    </AttrNames>
    <Accessors>
    <Item Value="DeptView"/>
    </Accessors>
    </nodeDefinition>
    <nodeDefinition DefName="model.EmpView" id="EmpViewNode">
    <AttrNames>
    <Item Value="Ename"/>
    </AttrNames>
    </nodeDefinition>
    <nodeDefinition DefName="model.DeptView" id="DeptViewNode">
    <AttrNames>
    <Item Value="Deptno"/>
    </AttrNames>
    </nodeDefinition>
    </tree>
    Does anyone know:
    - whether it is possible (intended) to have more than one branch accessor per node (i.e. more than one type of child under a node in the tree)
    - if so, how this can be achieved?
    Right now it looks like I am limited to each node in the tree having only one type of child node.
    Please tell me I am wrong.
    best regards,
    Lucas

    Give this a shot mate
    event.getNativeEventTarget();That will allow you to access the DOM object directly
    Id can be retrieved via
    event.getNativeEventTarget().id;

Maybe you are looking for

  • Problem with LDAP authentication for users in a group

    I've gone through several forums attempting to find a solution, but I still can't get authentication to work for users in a particular group within AD. Our ASA is running 9.1(2), and the domain controller is a Windows Server 2012 R2. I can configure

  • Playback only stutters in preview screen, not full screen.

    Brand new iMac 5k, maxed processor and graphics driver, and loaded up with 32gb of ram. Files live on internal 1tb drive. Originally 1080p 30fps MP4 with h.264 codec. Have created proxy, have optimized, have used compressor to switch to prores format

  • Service Tax condition not picking during MIRO

    Hi, Referring earlier posted thread, http://forums.sdn.sap.com/thread.jspa?threadID=2135441&tstart=0 I want to know insert a Tax Code - VAT for 10% and a Condition Type - Service Tax for 10.3%... During MIRO, Service Tax Amount is not Picking... Why?

  • JavaScript SaveAs: Acrobat Pro vs. Reader

    Hi Guys, My Privilaged / Protetected JavaScript SaveAs function works perfectly in AcrobatPro. The problem is that it will start to run in Reader, but the SaveAs won't execute. Ideas?

  • What do you do when SJIS isn't Shift JIS

    Using Tomcat 4.01 I put the following directive into JSP pages <%@ page contentType="text/html; charset=Shift_JIS" %> A quick test on the database I am using shows that a small percentage of (Japanese) peoples names don't pass through the unicode <=>