Adf tree don't refresh

Hi people, I have this code
<af:inputText value="#{bindings.string.inputValue}"
columns="#{bindings.string.hints.displayWidth}"
maximumLength="#{bindings.string.hints.precision}" simple="true"
styleClass="search-colab">
<f:validator binding="#{bindings.string.validator}"/>
</af:inputText>
<af:commandButton actionListener="#{bindings.getUsers.execute}"
text=""
id="search-colab-bt"/>
<af:tree rendered="true" visible="false" value="#{bindings.WCUserProfileWrapperIT7.treeModel}"
var="node"
selectionListener="#{bindings.WCUserProfileWrapperIT7.treeModel.makeCurrent}"
rowSelection="single" id="t1" >
<f:facet name="nodeStamp">
<af:outputText value="#{node.displayName}" id="ot10"/>
</f:facet>
</af:tree>
When I get the "search" from getUsers, in the first time that I submit doesn't work, I debug and even not enter in the java method. When I try in the second time, enter in method java but with the parameter that I enter in first time, iif I try the third time the parameter is from the second time...
Someone have some light to help me?
Thks in advance

Where is the parameter? I only see an inputText, a button and a tree.
I guess you use the value of the inputtext as parameter to your function bound to the button.
You need to set the autoSubmit property of the inputText to 'true' to make it directly available. And you should add a partialTriggers="search-colab-bt" to the tree to make update itself.
Timo

Similar Messages

  • 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

  • Error in ADF tree Expansion,need a quick help

    Hi,
    I created a ADF tree, with single level of hierarchy,i.e., just parent and child nodes.
    I added the respective two rules during tree creation for root node and child node.
    At runtime, it is showing the root nodes but on clicking the (+) sign, it is throwing an error in the log, as following:
    *'Definition Name of type Attribute not found in MasterVO_DetailVO_VL_DetailVO'*
    at oracle.jbo.server.RowImpl.findAttrAndGetIndex(RowImpl.java:103)
         at oracle.jbo.server.ViewRowImpl.getAttribute(ViewRowImpl.java:760)
         at oracle.jbo.uicli.binding.JUCtrlHierNodeBinding.refresh(JUCtrlHierNodeBinding.java:500)
         at oracle.jbo.uicli.binding.JUCtrlHierNodeBinding.updateValuesFromRow(JUCtrlHierNodeBinding.java:523)
         at oracle.jbo.uicli.binding.JUIteratorBinding.updateValuesFromRows(JUIteratorBinding.java:315)
         at oracle.adf.model.binding.DCIteratorBinding.refreshControl(DCIteratorBinding.java:693)
         at oracle.adf.model.binding.DCIteratorBinding.rangeRefreshed(DCIteratorBinding.java:735)
         at oracle.jbo.common.RowSetHelper.fireRangeRefreshed(RowSetHelper.java:172)
         at oracle.jbo.server.ViewRowSetIteratorImpl.notifyRangeRefreshed(ViewRowSetIteratorImpl.java:3473)
         at oracle.jbo.server.ViewRowSetIteratorImpl.ensureRefreshed(ViewRowSetIteratorImpl.java:2695)
         at oracle.jbo.server.ViewRowSetIteratorImpl.refresh(ViewRowSetIteratorImpl.java:2915)
         at oracle.jbo.server.ViewRowSetImpl.notifyRefresh(ViewRowSetImpl.java:2085)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:773)
         at oracle.jbo.server.ViewRowSetImpl.executeQueryForMasters(ViewRowSetImpl.java:891)
         at oracle.jbo.server.ViewRowSetImpl.executeQueryForMode(ViewRowSetImpl.java:805)
         at oracle.jbo.server.ViewRowSetImpl.executeQuery(ViewRowSetImpl.java:799)
         at oracle.adf.model.bc4j.DCJboDataControl.executeIteratorBindingIfNeeded(DCJboDataControl.java:827)
         at oracle.adf.model.binding.DCIteratorBinding.executeQueryIfNeeded(DCIteratorBinding.java:1823)
         at oracle.jbo.uicli.binding.JUCtrlHierNodeBinding.executeQueryIfNeeded(JUCtrlHierNodeBinding.java:257)
         at oracle.jbo.uicli.binding.JUCtrlHierNodeBinding.getChildren(JUCtrlHierNodeBinding.java:335)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding$FacesModel._getKids(FacesCtrlHierBinding.java:80)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding$FacesModel.enterContainer(FacesCtrlHierBinding.java:198)
         at oracle.adf.view.faces.component.UIXHierarchy.enterContainer(UIXHierarchy.java:80)
         at oracle.adfinternal.view.faces.ui.laf.base.desktop.TreeRenderer._renderNode(TreeRenderer.java:733)
         at oracle.adfinternal.view.faces.ui.laf.base.desktop.TreeRenderer._renderContent(TreeRenderer.java:113)
         at oracle.adfinternal.view.faces.ui.laf.base.desktop.TreeRenderer.renderContent(TreeRenderer.java:70)
         at oracle.adfinternal.view.faces.ui.BaseRenderer.render(BaseRenderer.java:81)
         at oracle.adfinternal.view.faces.ui.laf.base.xhtml.XhtmlLafRenderer.render(XhtmlLafRenderer.java:69)
         at oracle.adfinternal.view.faces.uinode.UIXComponentUINode.renderInternal(UIXComponentUINode.java:177)
         at oracle.adfinternal.view.faces.uinode.UINodeRendererBase.encodeEnd(UINodeRendererBase.java:53)
         at oracle.adf.view.faces.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:624)
         at oracle.adf.view.faces.component.UIXCollection.encodeEnd(UIXCollection.java:456)
         at oracle.adfinternal.view.faces.uinode.UIComponentUINode._renderComponent(UIComponentUINode.java:317)
         at oracle.adfinternal.view.faces.uinode.UIComponentUINode.render(UIComponentUINode.java:262)
         at oracle.adfinternal.view.faces.uinode.UIComponentUINode.render(UIComponentUINode.java:239)
         at oracle.adfinternal.view.faces.ui.composite.ContextPoppingUINode$ContextPoppingRenderer.render(ContextPoppingUINode.java:224)
         at oracle.adfinternal.view.faces.ui.BaseUINode.render(BaseUINode.java:346)
         at oracle.adfinternal.view.faces.ui.BaseUINode.render(BaseUINode.java:301)
         at oracle.adfinternal.view.faces.ui.BaseRenderer.renderChild(BaseRenderer.java:412)
         at oracle.adfinternal.view.faces.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:330)
         at oracle.adfinternal.view.faces.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:222)
         at oracle.adfinternal.view.faces.ui.BaseRenderer.renderContent(BaseRenderer.java:129)
         at oracle.adfinternal.view.faces.ui.BaseRenderer.render(BaseRenderer.java:81)
         at oracle.adfinternal.view.faces.ui.laf.base.xhtml.XhtmlLafRenderer.render(XhtmlLafRenderer.java:69)
         at oracle.adfinternal.view.faces.ui.BaseUINode.render(BaseUINode.java:346)
         at oracle.adfinternal.view.faces.ui.BaseUINode.render(BaseUINode.java:301)
         at oracle.adfinternal.view.faces.ui.BaseRenderer.renderChild(BaseRenderer.java:412)
         at oracle.adfinternal.view.faces.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:330)
         at oracle.adfinternal.view.faces.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:222)
         at oracle.adfinternal.view.faces.ui.BaseRenderer.renderContent(BaseRenderer.java:129)
         at oracle.adfinternal.view.faces.ui.laf.oracle.desktop.HeaderRenderer.renderContent(HeaderRenderer.java:489)
         at oracle.adfinternal.view.faces.ui.BaseRenderer.render(BaseRenderer.java:81)
         at oracle.adfinternal.view.faces.ui.laf.base.xhtml.XhtmlLafRenderer.render(XhtmlLafRenderer.java:69)
         at oracle.adfinternal.view.faces.ui.BaseUINode.render(BaseUINode.java:346)
         at oracle.adfinternal.view.faces.ui.BaseUINode.render(BaseUINode.java:301)
         at oracle.adfinternal.view.faces.ui.BaseRenderer.renderChild(BaseRenderer.java:412)
         at oracle.adfinternal.view.faces.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:330)
         at oracle.adfinternal.view.faces.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:222)
         at oracle.adfinternal.view.faces.ui.BaseRenderer.renderContent(BaseRenderer.java:129)
         at oracle.adfinternal.view.faces.ui.laf.base.xhtml.BorderLayoutRenderer.renderIndexedChildren(BorderLayoutRenderer.java:42)
         at oracle.adfinternal.view.faces.ui.laf.base.xhtml.BorderLayoutRenderer.renderContent(BorderLayoutRenderer.java:71)
         at oracle.adfinternal.view.faces.ui.BaseRenderer.render(BaseRenderer.java:81)
         at oracle.adfinternal.view.faces.ui.laf.base.xhtml.XhtmlLafRenderer.render(XhtmlLafRenderer.java:69)
         at oracle.adfinternal.view.faces.ui.BaseUINode.render(BaseUINode.java:346)
         at oracle.adfinternal.view.faces.ui.BaseUINode.render(BaseUINode.java:301)
         at oracle.adfinternal.view.faces.ui.BaseRenderer.renderChild(BaseRenderer.java:412)
         at oracle.adfinternal.view.faces.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:330)
         at oracle.adfinternal.view.faces.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:222)
         at oracle.adfinternal.view.faces.ui.BaseRenderer.renderContent(BaseRenderer.java:129)
         at oracle.adfinternal.view.faces.ui.BaseRenderer.render(BaseRenderer.java:81)
         at oracle.adfinternal.view.faces.ui.laf.base.xhtml.XhtmlLafRenderer.render(XhtmlLafRenderer.java:69)
         at oracle.adfinternal.view.faces.ui.BaseUINode.render(BaseUINode.java:346)
         at oracle.adfinternal.view.faces.ui.BaseUINode.render(BaseUINode.java:301)
         at oracle.adfinternal.view.faces.ui.composite.UINodeRenderer.renderWithNode(UINodeRenderer.java:90)
         at oracle.adfinternal.view.faces.ui.composite.UINodeRenderer.render(UINodeRenderer.java:36)
         at oracle.adfinternal.view.faces.ui.laf.oracle.desktop.PageLayoutRenderer.render(PageLayoutRenderer.java:76)
         at oracle.adfinternal.view.faces.uinode.UIXComponentUINode.renderInternal(UIXComponentUINode.java:177)
         at oracle.adfinternal.view.faces.uinode.UINodeRendererBase.encodeEnd(UINodeRendererBase.java:53)
         at oracle.adf.view.faces.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:624)
         at oracle.adfinternal.view.faces.renderkit.RenderUtils.encodeRecursive(RenderUtils.java:54)
         at oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeChild(CoreRenderer.java:242)
         at oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeAllChildren(CoreRenderer.java:265)
         at oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelPartialRootRenderer.renderContent(PanelPartialRootRenderer.java:65)
         at oracle.adfinternal.view.faces.renderkit.core.xhtml.BodyRenderer.renderContent(BodyRenderer.java:117)
         at oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelPartialRootRenderer.encodeAll(PanelPartialRootRenderer.java:102)
         at oracle.adfinternal.view.faces.renderkit.core.xhtml.BodyRenderer.encodeAll(BodyRenderer.java:60)
         at oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeEnd(CoreRenderer.java:169)
         at oracle.adf.view.faces.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:624)
         at javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:645)
         at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:568)
         at oracle.adf.view.faces.webapp.UIXComponentTag.doEndTag(UIXComponentTag.java:100)
         at MySiteMapjspx._jspService(_MySiteMap_jspx.java:443)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
         at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:287)
         at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:51)
         at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:193)
         at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283)
         at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:198)
         at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346)
         at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152)
         at oracle.adfinternal.view.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:157)
         at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
         at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
         at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:228)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:197)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:123)
         at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:162)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
         at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)

    debabratas wrote:
    Therefore my question is how can I have ps_filename like 'A%' in C?Hello, why don't you just substring on the first character, and if that's an 'A', then LIKE 'A%' will also hold.
    For example, in Pro*C:
    if (substr(ps_filename,1,1) == 'A') {
    ..

  • ADF Tree Component Iterating through all nodes upon ONE node click...

    Hi to all !. My name is Agustin and I live far away... In Cordoba Argentina to be specific !. My doubt would be the following one: I wanted the other day to build a af:tree component and put in the NodeStamp an commandLink with a setActionListener... So as to get the selected Node... In this case, I have category of books... Let say DataBase, Cloud Computing, Web Development and so on... But the misterious thing happens when I click on one node, and the action method in my backing bean is executed one time per each node the Tree has... I notices this coz I made a System.out.println()... My idea would be to detect the user click event so as to update a Table... My code is as follows !...
    <af:tree value="#{backManager.listaCategoria}" var="cat"
    binding="#{backManager.tree1}" id="tree1">
    <f:facet name="nodeStamp">
    <h:commandLink binding="#{backManager.outputText1}" action="#{backManager.outputText1_action}" >
    <af:setActionListener from="#{cat}" to="#{backManager.selectedItem}" />
    <h:outputText value="#{cat.label}"
    binding="#{backManager.outputText2}"
    id="outputText2"/>
    </h:commandLink>
    </f:facet>
    </af:tree>
    and my backing bean is:
    public String ejecutarSeleccion()
    Categoria cat = (Categoria) this.selectedItem.getValue();
    System.out.println("Nombre: " + cat.getNombre());
    return null;
    This method is the action attribute from the command link !.
    the selectedItem is an attribute of the type SelectItem !.
    Where I would be making the mistake ?... Or should I implement the thing in a different way ?... Thankx ! :D

    Hi,
    its strange when you say it executes the action per each node in the tree. One thing tough I would change is to go from h:commandLink to af:commandLink as it allows you to set partialSubmit=true in which case a click on the tree doesn't refresh the whole tree. I then would add an f:attribute tag to the command link
    <f:attribute name="cat" value="#{cat.id}"/>
    On the command link I had the actionListener property pointing to a managed bean with a method like
    public void onTreeNodeAction(ActioneEvent actionEvent){
    RichCommandLink link = (RichCommandLink ) actionEvent.getUIComponent();
    Object catId = link.getAttributes().get("cat");
    // ... cast the catalog id to its type and you are ready to go
    Another option would be to use the SelectListener of the tree and don't use a command link at all. You respond to tree node selection similar to here
    http://www.oracle.com/technetwork/developer-tools/adf/learnmore/83-bidi-synchronization-tree-form-401841.pdf
    Frank

  • How can an ADF Tree be configured to work with varying levels of heirarchy?

    We have a need for a Locations tree that represents the Locations heirarchy for any one of our clients. Depending on the client the number of levels in a location heirarchy could range from 1 to 9.
    I have created 9 different tree bindings and I can change the tree binding in the jsp page - the example below is for a client with 4 location levels.
    <af:tree value="#{bindings.ScdLocs4View1.treeModel}" var="node"
    binding="#{backing_locations.tree2}" id="tree2">
    For a client with 5 location levels, I'd like to programatically change the value to
    #{bindings.ScdLocs5View1.treeModel.  How can I do this?
    I was thinking I could use the setValue method on the tree control in my page's backing bean.  But I have been unable to get a reference to the tree binding.
    I don't see an appropriate method for finding a Tree Binding.  There are methods for finding an Iterator Binding, an Executable Binding, or a Region Binding (whatever that is).  But how do I "find" a reference to a Tree Binding?
    I have also given consideration to using a single Tree Binding with 9 levels (or rules in the Tree Binding Editor) and finding a way to  programatically "start" the rendering at a particular level (or rule) - in effect telling the ADF Tree control to ignore some number of rules and begin with the specified rule.  But I haven't been able to figure out how to do this either.
    Help would be greatly appreciated.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    Bill,
    A tree binding is a particular kind of control binding, so you can find it as a control binding and then cast it to the more specific interface to work with it.

  • How to implement a go to next node button for an ADF Tree backed by ADF Bin

    Dear all,
    I have been trying for quite some time now, and I do not get it. For my ADF Tree component, I want to implement a series of little iconic buttons that my users can press to Expand and Collapse the current node - those I have got to work, sort of - and Move to the Next or Previous node. My definition of Next Node is: the next node you can see on the screen; this can either be a child, a sibling or an ancestor's sibling.
    + A
    - B
    |- C
    |+ D
    + E
    So from A, next means B, from B next means C, from C it means D and from D it should go to E.
    My main question is: how can I programmatically set the currently selected node in the tree? And I mean not just set the focusRowKey...
    My tree is bound to a ADF Tree Iterator Binding.
    My tree nodes are 'clickable through an action link; this informs a managed bean of the currently selected node, a JUCtrlHierNodeBinding instance.
    <f:facet name="DeptView1Node" >
    <h:panelGroup>
    <af:commandLink text="#{node.Dname}"
    immediate="true"
    action="StartHrmTree"
    >
    <af:setActionListener from="#{HrmTreeTree.tree.rowKey}"
    to="#{HrmTreeTree.focusRowKey}"/>
    <af:setActionListener from="#{node}"
    to="#{HrmTreeTree.selectedNode}"/>
    <af:resetActionListener/>
    </af:commandLink>
    </h:panelGroup>
    </f:facet>
    At that point, in my setSelectedNode method, I can access the Node, its children etc. Methods calls to the tree are less successful; despite their description in the JavaDoc, calls like: getTreeModel().getRowKey() or getContainerRowKey() return null.
    From the Next Node button:
    <af:commandButton immediate="true" actionListener="#{HrmTreeTree.nextNode}" text="&gt;">
    </af:commandButton>
    I invoke the nextNode() method on my bean. When I access the selectedNode that I saved on this bean when the node was clicked on, I no longer can access the children of the node. Even the childIterator property returns null.
    Using the RowSetIterator I can access the current Row, go to the next row in the RSI, access children, so that seems a reasonable approach. However, I do not know how I can make the first child the currently selected node or even how to tell the tree that the child iterator is the current one.
    Using this code:
    // find out if the current Node has a child
    DCBindingContainer container =
    (DCBindingContainer)JsfUtils.getExpressionValue("#{bindings}");
    String iterName = "HrmTreeTreeIterator";
    JUIteratorBinding ib =
    (JUIteratorBinding)container.findIteratorBinding(iterName);
    List ibs =container.getIterBindingList();
    FacesCtrlHierBinding tree = (FacesCtrlHierBinding)container.findCtrlBinding("HrmTreeTree");
    RowSetIterator rsi2 = ib.getRowSetIterator();
    I never seem to be able to get beyond the RowSet iterator of the root level nodes. How can I make a child node's row set iterator the current one? How is it that my selected node object does not know how to access its child-nodes or even its childIterator binding? What refresh operation is required here?
    Any help will be very much appreciated (and credited in the blog article I will write when it all works out).
    Lucas

    Can you try setSelectedRowKeys(RowKeySet newSelectionState) API on the tree? That should change the selection.
    You can do some thing like this to populate the RowKeySet:
    RowKeySet oldSelectionState = null;
    RowKeySet newSelectionState = null;
    oldSelectionState = table.getSelectedRowKeys(); //table is the table component
    newSelectionState = oldSelectionState.clone();
    newSelectionState.clear();
    Object oldRowKey = table.getRowKey(); //Save the orginal rowKey in the variable
    String rowKey = "XXXX" // the key of the row you want to select
    table.setRowKey(rowKey); //set the currency of the table to the row you want to select
    newSelectionState.setContained(true); //add the current row to the selection key set
    table.setRowKey(oldRowKey); //Restore the currency to the old one.
    table.setSelectedRowKeys(newSelectionState); //update the table selection
    ///Now Do some partial update here to change display

  • ADF Tree: how to access root node after "Show as Top" selected on sub node

    I am currently working on a project that using ADF tree and implementing some search/filter functionality. I need to find the java API calls to get the new root node information after UI user select a sub node in the tree and clicked “show as top"(so search are done only on the current tree. Can someone help on this?

    Hi ,
    In our project we require to implement ADF menu tree inside <af:menulist>.
    We require to show 3-4 child menuitems inside 2 parent menus.
    Home
    --> Inbox
    -->Search
    Patient
    --> Information
    --> Search
    Can you please tell steps to implement <af:menutree> to have child menuitems like Inbox, Search inside parent like Home ? I searched on ADF sites but not much of help there.
    Thanks
    Suhas

  • ADF Tree 11g column 100% to fit the avilable space in af:panelCollection

    Hi All,
    I want to stretch the tree column to fit all the available space in af:panelCollection. I ve changed its InlineStyle to width:100% but its is suggesting to use StyleClass to AFStretchWidth. I tried both the options but didn't achieve desired output.
    Any hint or suggestion will be highly appreciated.
    Thanks in advance.
    Best Regards
    Bilal
    Edited by: Bilal on Oct 3, 2011 7:41 PM

    Hi All,
    I have tried various options but in vain.
    A clarification is that I have a page having ADF query panel with tree table. I don't want to show the other columns in the result. Just tree is enough to display the contents.
    I want to maximize the tree column to fit into the available space of af:panelCollection.
    Option 1. I set the styleClass to AFStretchWidth for af:column of the ADF tree. It didn't work.
    Option 2. I encapsulated af:column of the tree into the f:center facet of af:panelStretchLayout and set af:panelStretchLayout styleClass to AFStretchWidth. The af:column of the tree disappeared. No output.
    Option 3. I encapsulated af:treeTable into the f:center facet of af:panelStretchLayout. It is giving error that af:panelStretchLayout is not a valid child of af:panelCollection, so it also didn't work.
    Option 4. I encapsulated af:panelCollection into the f:center facet of af:panelStretchLayout. It also didn't work.
    Any thing I am missing ... Any other option to try out.
    Any help will be highly appreciated.
    Thanks ... Best Regards
    Bilal
    Edited by: Bilal on Oct 4, 2011 5:06 AM

  • Formatting multiple values in ADF tree node

    JDeveloper 11.1.2.2.0 -- WinXP
    I have an ADF tree component that is bound to a table with two values per node level.
    The results look like:
    Fruit 1234
        -- VineGrown 5678
           -- Grapes 4567
               -- Red 1234
               -- Green 56
    Veggie 4567
       -- Root 45
          -- Carrot 34
          -- Potato 987What I want to be able to do is format the outputText so that it will end up looking more like "Fruit :: Total 1234"
    The issue is that the EL of #{node} displays both the node level value and the number as one item. This is in the facet nodeStamp.
    If I try and get more specific with the EL, I can separate out the Uses number by doing #{node.Uses} but I can't get the node name to still be dynamic for each level.
    My binding options for node are shown as:
    node.Type
    node.GrownLocation
    node.Group
    node.Value
    node.Uses
    Of course setting the first #{node} to any of these more specific values doesn't display at all for the node levels that don't correspond to just that one level.
    Ideally the EL line would look something like:
    <af:outputText value="#{node.name} ::  Total: #{node.Uses}" id="ot3"/>where node.name could be any one of the levels: Type, GrownLocation, Group, etc.
    Is this something that pathStamp would be used for? I couldn't really figure out how pathStamp worked from the docs.
    Thanks for any help. Hopefully this makes some sense.
    --jb                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    You can try something like this:
    <af:column id="c1">
    <af:outputText value="#{node.name} ::  Total: #{node.Uses}" id="ot3" rendered="#{node.name != null}"/>
    <af:outputText value="#{node.Type} ::  Total: #{node.Uses}" id="ot3" rendered="#{node.Type!= null}"/>
    <af:outputText value="#{node.GrownLocation} ::  Total: #{node.Uses}" id="ot3" rendered="#{node.GrownLocation!= null}"/>
    <af:outputText value="#{node.Group} ::  Total: #{node.Uses}" id="ot3" rendered="#{node.Group!= null}"/>
    </af:column>So the rendered property will make sure that the correct node is displayed according to each level.
    Hope this helps.

  • ADF Tree Traversal from one node to its leafs

    Hello,
    after a titanic effort I have been able to add a checkbox next to each node of an adf tree table.
    This checkbox is based on an "helper" entity attribute (not mapped to a column table on the database).
    My next huge problem is to perform an automatic selection of all the checkboxes next to the nodes under the currently selected one.
    For example, if the user checks a checkbox in the second level, then all the checkboxes next to the nodes under that, belonging to level three and four must be checked.
    If this helps, in my case there are at most four levels.
    Up until now I can get all the information from the currently checked node, but I fail to navigate the hierarchy under it for the automatic checking. I think that one problem is to navigate all the rows in the (only) VO the tree is based on. For example, since the tree is not expanded at the beginning, if I iterate on the VO retrieved from the current selected node at the top level, I can't see any rows corresponding to any children. Maybe I just miss something.
    I have followed this example from Frank Nimphius, which only gets the current selected nodes, as I said, but no more. Maybe this is a good starting point, but I need to advance somehow.
    http://www.oracle.com/technetwork/developer-tools/adf/learnmore/32-tree-table-from-single-vo-169174.pdf
    Can anyone help?
    Thanks.

    Hi,
    here is a sample of how to search in trees, which actually shows how to traverse trees from a specific node
    http://www.oracle.com/technetwork/developer-tools/adf/learnmore/61search-in-rendered-trees-177577.pdf
    Given you have a transient attribute defined, each node (and instance of JUCtrHierNode --> getRow will give you access to the attribute for read/access). Note that because the checkbox is stamped in the context of the tree, upon selecting a parent node, you need to refresh the tree to show the selection state change
    Frank

  • JBO-25058 exception when running adf:tree component

    Hi, I was trying to prototype an adf:tree which uses eo, vo, and view links as a data model. I am trying to use the vo recursively.
    Data model consists of :
    EO: PeggingDataEO
    VO: TopPeggingDataVO
    PeggingDataVO
    View Links: TopToFirstLevelVL (source: TopPeggingDataVO, destination: PeggingDataVO)
    ParentToChildVL ( source: PeggingDataVO, destination: PeggingDataVO)
    When i ran this page, i get the root node , and then when I try to expand it , i get this error:
    oracle.jbo.NoDefException: JBO-25058: Definition PeggingDataVO of type Attribute not found in TopPeggingDataVO_PeggingDataVO_TopToFirstLevelLVL_PeggingDataVO
    This is build using JDeveloper 11g ( jdev fusiondrop306).
    Please help. I don't understand what definition is missing and what TopPeggingDataVO_PeggingDataVO_TopToFirstLevelLVL_PeggingDataVO is?
    Thanks
    -c.
    below is the code for the page definition :
    <executables>
    <iterator Binds="TopPeggingDataVO1" RangeSize="25"
    DataControl="AppModuleDataControl"
    id="TopPeggingDataVO1Iterator"/>
    </executables>
    <bindings>
    <tree IterBinding="TopPeggingDataVO1Iterator" id="TopPeggingDataVO1">
    <nodeDefinition DefName="recursivetree.datamodel.queries.TopPeggingDataVO">
    <AttrNames>
    <Item Value="InventoryItemName"/>
    <Item Value="SourceType"/>
    <Item Value="SupplyDemandDate"/>
    <Item Value="SupplyDemandQuantity"/>
    <Item Value="ParentPeggingId"/>
    <Item Value="PeggingId"/>
    </AttrNames>
    <Accessors>
    <Item Value="PeggingDataVO"/>
    </Accessors>
    </nodeDefinition>
    <nodeDefinition DefName="recursivetree.datamodel.queries.PeggingDataVO">
    <AttrNames>
    <Item Value="InventoryItemName"/>
    <Item Value="SourceType"/>
    <Item Value="SupplyDemandDate"/>
    <Item Value="SupplyDemandQuantity"/>
    <Item Value="ParentPeggingId"/>
    <Item Value="PeggingId"/>
    </AttrNames>
    <Accessors>
    <Item Value="PeggingDataVO"/>
    </Accessors>
    </nodeDefinition>
    </tree>
    </bindings>

    Hi,
    can you run the VO in the tester ? The error message often indicates that the database connection uses a wrong schema
    Frank

  • ADF Tree table is not exapanding

    Hi all,
    I have to implement an ADF tree table along with a form. I have three Views,
    two of the views are used to populate the Tree table, And one of the view used in the Tree population is used to manipualte the form,
    And the third one is to populate a table. And I have a Popup call button in the same panelCollection where the tree table is placed
    I am facing two issues with the the tree table.
    1. The tree table is not expanding, if I click on the '+' on the node it won't expand and it will show me small circle which is trying to open the node.
    But if I click on the Popup button and cancel(RollBack) the popup and come to the node, it will exapand. I don't kow why it is....
    2. As I said I have a Form and I have to populate the form based on the selection in the tree table nodes, the form filed is same as that of the view used to populate the Tree table view.
    But when i click on the tree table nodes it is not chaning the record according to the selection in the tree nodes. But in a master Detail form it is working fine. It is always pointing to the first record.
    Please help.....

    No vinod, I am not getting any kind of exceptions..
    And mY tree table is
    <af:treeTable value="#{bindings.TestVO.treeModel}"
    var="node"
    selectionListener="#{backingBeanScope.TestBean.TreeTableSelectionListener}"
    rowSelection="single" id="tt1"
    columnStretching="column:c1" contentDelivery="immediate"
    binding="#{backingBeanScope.TestBean.tt1}">
    <f:facet name="nodeStamp">
    <af:column id="c1">
    <af:panelGroupLayout id="pgl15">
    <af:outputText value="#{node.SubtaskDesc}" id="ot1"/>
    <af:outputText value="#{node.HazardDesc}" id="ot4"/>
    </af:panelGroupLayout>
    </af:column>
    </f:facet>
    <f:facet name="pathStamp">
    <af:outputText value="#{node}" id="ot2"/>
    </f:facet>
    <af:column id="c2">
    <af:outputText value="#{node.MaxRiskRating}" id="ot3"/>
    </af:column>
    </af:treeTable>
    Edited by: Ranjith C on Jul 18, 2011 6:21 AM

  • Hide disclose icon form ADF tree row depending on row data

    Hello,
    I've got an ADF tree based on recursive View Object. So basically we don't know how many tree levels are there, but depending on a row data we know that the row is a leaf and there will be no children rows.
    But the disclose icon is there event though we definitely know it is currently useless.
    So is there any way to hide the disclose icon from ADF tree(treetable) row depending on row data?
    Thanks.
    ADF 11R2

    Great, it works.
    The only thing is suggested style just makes the icon invisible, but it is still there and can be clicked.
    I applied .hideDiscloseIcon af|treeTable::collapsed-icon-style
    display: none;
    }and there is no disclose button at all.

  • ADF Tree invokeaction problem

    Hello,
    I am trying to use the ADF tree table for the first time. I have a Master VO and a Detail VO, the Master accepts a bind variable. There is a view link between the master and detail.
    When I drag and Drop the executewithparams and create an adf parameter form on my page fragment, the tree table will work as expected when the executewithparams button is clicked. However, I want to use a pageFlowScope variable and invoke the executewithparams, but the Detail VO does not load any data. The Master VO works as expected but there is no rows for the Detail VO when expanded. I am just confused, it works when I execute with an Execute With Params button, but not with an invokeaction. I can see the pageFlowScope values displayed on my page, so I know they actaully have a value.
    Here is what my pagedef looks like.
    <?xml version="1.0" encoding="UTF-8" ?>
    <pageDefinition xmlns="http://xmlns.oracle.com/adfm/uimodel"
    version="11.1.1.56.60" id="SellerReportPageDef"
    Package="Fragments">
    <parameters/>
    <executables>
    <iterator Binds="SellerReportView2" RangeSize="25"
    DataControl="AppModuleDataControl"
    id="SellerReportView2Iterator"/>
    <invokeAction id="invokeExecuteWithParams" Binds="ExecuteWithParams"
    Refresh="always"/>
    </executables>
    <bindings>
    <tree IterBinding="SellerReportView2Iterator" id="SellerReportView2">
    <nodeDefinition DefName="model.SellerReportView"
    Name="SellerReportView20">
    <AttrNames>
    <Item Value="RecordsCount"/>
    <Item Value="PersonInfo"/>
    </AttrNames>
    <Accessors>
    <Item Value="SellerReportDetail"/>
    </Accessors>
    </nodeDefinition>
    <nodeDefinition DefName="model.SellerReportDetail"
    Name="SellerReportView21">
    <AttrNames>
    <Item Value="AgencyId"/>
    <Item Value="AgencyReportNumber"/>
    <Item Value="ControlNumber"/>
    <Item Value="Dob"/>
    <Item Value="FirstName"/>
    <Item Value="FullAddress"/>
    <Item Value="LastName"/>
    <Item Value="NumOfItems"/>
    <Item Value="ShopName"/>
    <Item Value="TransactionDate"/>
    <Item Value="TransactionType"/>
    </AttrNames>
    </nodeDefinition>
    </tree>
    <action IterBinding="SellerReportView2Iterator" id="ExecuteWithParams"
    RequiresUpdateModel="true" Action="executeWithParams">
    <NamedData NDName="DateStart" NDType="oracle.jbo.domain.Date"
    NDValue="#{pageFlowScope.startDate}"/>
    <NamedData NDName="DateEnd" NDType="oracle.jbo.domain.Date"
    NDValue="#{pageFlowScope.endDate}"/>
    </action>
    </bindings>
    </pageDefinition>
    What am I missing? Any help would be great.
    Thanks,
    Jessica

    I forgot to mention I am using version 11.1.1.3

  • ADF tree with command link

    Hello,
    I have a menu build with a tree and a region. When I click a link from the tree the region populate a page with another dinamic tree based on a session variable that refresh each time that i click a link from the first tree. After click the link I have a flow that has an executewithparams method and the page that will show the second tree.
    My problem is that the second tree doesn't refresh its branches at my first click on the link but on the second yes and I receive :
    <NavigationPaneRenderer><_renderContent> Warning: There are no items to render for this level
    <FormRenderer><setupEncodingContext> Multiple forms detected on viewId: /pages/index.jspx. Rich client currently has some limitations in dealing with multiple forms.
    I have set the autorefresh for the iterator but I haven't success.
    Can anyone help me?
    Thank you.

    Hi Frank,
    It's true that my execute with params method accessthe session scope attribute directly but in my page fragmet i haven't af:form
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
    xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:c="http://java.sun.com/jsp/jstl/core">
    <!--oracle-jdev-comment:preferred-managed-bean-name:backing_doc-->
    <af:panelGroupLayout id="pgl2">
    <c:set var="viewcontrollerBundle"
    value="#{adfBundle['.main.view.ViewControllerBundleMain']}"/>
    <af:panelGroupLayout id="pgl1" layout="vertical">
    <af:panelBox text="#{sessionScope.OrgMeniuId eq 920 ? viewcontrollerBundle.1 : viewcontrollerBundle.2}"
    id="pb1" styleClass="AFStretchWidth"
    binding="#{backing_doc.pb1}">
    <f:facet name="toolbar"/>
    <af:tree value="#{bindings.DocVO2.treeModel}" var="node"
    selectionListener="#{bindings.DocVO2.treeModel.makeCurrent}"
    rowSelection="single" id="t1" binding="#{backing_doc.t1}"
    fetchSize="-1" styleClass="AFStretchWidth"
    inlineStyle="font-size:small;">
    <f:facet name="nodeStamp">
    <af:group id="g1" binding="#{backing_doc.g1}">
    <af:commandLink id="cl1"
    text="#{node.Desc}#{node.DescOp}"
    action="#{backing_doc.ActionIdLink}"
    actionListener="#{backing_doc.discloseItem}"
    binding="#{backing_doc.cl1}" immediate="true"
    partialTriggers="::pb1">
    <af:setActionListener from="#{node.IdOp != null ? node.IdOp : node.Id}"
    to="#{sessionScope.backing_doc.actionId}"/>
    <f:attribute name="node" value="#{node}"/>
    <af:setActionListener from="#{node.IdOp != null ? node.DescOp : node.Desc}"
    to="#{sessionScope.OrgDocDesc}"/>
    <af:clientListener method="onDownload" type="action"/>
    </af:commandLink>
    <af:resource type="javascript">
    function onDownload(evt){ evt.noResponseExpected(); }
    </af:resource>
    </af:group>
    </f:facet>
    </af:tree>
    </af:panelBox>
    </af:panelGroupLayout>
    </af:panelGroupLayout>
    </jsp:root>

Maybe you are looking for

  • Creation of Query - SQ01

    Hello All, Can anybody expalin in brief regarding how to write a quiery using SQ01? If possible can anybody send me the docs relating to this? Thank you, Regards, Santosh Kumar V

  • AR Invoice with Installment Terms-On Account Balance

    Hi To All, We have a customer with invoice with 18 month installment terms.  The first and second month installments were paid.  But for the third month customer double paid the installment #3.  So the installment close but we placed the duplicate pa

  • Persistant Errors 4001 and 4010

    I am just about at the end of my tether with iTunes Match.  I have managed to get some 14500 of my songs sorted (although it did take me almost a week) but for the last few days I keep getting these 4001/4010 errors and never get as far as stage 3 (o

  • RDP with SSL via CSS

    I have been asked about providing this as a way to secure RDP connections - has anyone done this? I can see two potential ways, but do not know much about RDP. How is the SSL part of RDP initialised? would it be prractical to terminate the SSL on the

  • Safari not finding server

    why would safari not find certian servers that it used to find