ADF 10.1.3.0.4: tree leaf with no child nodes still displays folder icon?

I was reading through Frank Nimphius's Blog and found the entry entitled "ADF Faces: Building a hierarchical tree from recursive tables - October 05, 2006" and found a tree example in which a tree leaf with no child nodes do not display the folder icon.
I've followed the instructions listed with adf:tree, CoreTree and ChildPropertyTreeModel, but my tree leaves with no child nodes still displays the folder icon.
How do I remove this icon when the node is a leaf with no children?
Thanks,
--Todd                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

I figured it out.
I used the ChildPropertyTreeModel.isContainer() method.
--Todd                                                                                                                                                                                           

Similar Messages

  • Tree control with xml last node!

    The question is how to view the tree lastleaf as last
    nodename + nodevalue in an xmlobject?
    <node1>
    <node1a>10
    </node1a>
    </node1>
    <node2>
    <node2a>
    <node2b>20
    </node2b>
    </node2a>
    </node2>
    I want the tree structure like:
    Node1 (folder icon)
    Node1a = 10 (doc icon)
    Node2
    Node2a
    Node2b = 20 (doc icon)
    In Flex the tree views:
    Node1 (folder icon)
    Node1a (folder icon)
    10 (doc icon)
    Node2
    Node2a
    Node2b (folder icon)
    20 (doc icon)
    in my app I get a result from a webservice that returns some
    nodes that can have one or more values. Say Node1a can have 10, 34,
    43, so in the tree leaf I it should view Node1a = 10, 34, 43.
    Any suggestions?

    The problem is when the value is between xml tags (
    <node>value</node>) the node name gets folder icon and
    value gets doc. icon.
    With lot of last elements, one has to click every node to see
    the values.
    With labelFunction every leaf gets null value:
    If hasComplex return localname
    Else
    Return localname + children
    When I try to pars xml to new one, hasChildren returns true
    for las element, and if there is no value the node shows null.
    Then walking the xml recursively how do I insert the nodes in
    new xml with the same structure but tags like (<node
    data=”value” />)? (to XMLListCollection)
    Hope it’s clearer

  • How to get the tree index of a child node

    Hi, I am loading a tree object from an XML source file (via
    an XMLListCollection)
    I can find the children on the currently selected node, like:
    var children:XMLList =
    XMLList(myTree.selectedItem).children();
    for(var i:Number=0; i < children.length(); i++) {
    trace("Child Found: " + children
    .@caption);
    But how can I determine the tree index for each of the
    children? I would like to be able to grab and save the tree index
    for each child, so that I can later just to do
    "myTree.selectedIndex = (saved child index) (based on some form
    action the user performs). I can't find any method of determining
    what the tree index for a child is, other than walking down the
    tree from the parent node and counting the number of nodes till I
    hit each child. Is there a simple method?

    Tree is hierarchical, index is linear. I have never seen
    anyone successfully use selectedIndex with Tree.
    You best bet is to put an id on each node and use e4x
    expression to find that node when you want.
    Tracy

  • af:tree leaf nodes

    Is there a way to display leaf nodes in an <af:tree> differently, so that they don't look like they can be expanded?
    I'm using an <af:tree> component with an ADF tree binding. There's just one source collection, with a self-join (that is, the single accessor rule returns different elements from that collection).
    The problem is that every node in the tree is expandable, including the leaf nodes (that is, the ones with no children). When the user expands them, nothing happens except a change in the icon (as you might expect), but I'd rather not provide the icon at all, or provide a different icon, to discourage expansion.
    I actually have an attribute in my collection that can act as a discriminator--I happen to know that all and only rows with TypeIndicator="W" will have children. But my attempts to use the "polymorphic rule" functionality in the tree binding editor don't seem to work--it simply doesn't show any children of the top-level nodes at all.
    Help would be much appreciated.

    Mmm...sorta. Here's what I've done so far.
    I've created a class, let's call it CustomTreeModel, that extends the (abstract) class TreeModel. I've given it a private field:
    private final TreeModel mTree;and a constructor:
    public CustomTreeModel(TreeModel tree) {
        mTree = tree;
    }Then, I've overridden every method but one in TreeModel to delegate to mTree. For example:
    public void setRowIndex(int i) {
        mTree.setRowIndex(i);
    }The one exception is the method isContainer, which I've implemented this way:
    public boolean isContainer() {
        return (mTree.isContainer() && (! mTree.isContainerEmpty()));
    }The idea here is that the class wraps a tree, except that it claims that empty containers aren't containers at all (so they should be treated as leaves).
    Then, rather than bind my <af:tree> to #{bindings.MyTreeBinding.treeModel}, I bound it to #{myBackingBean.treeModelWrapper}, and created a backing bean with bean name myBackingBean. Here's what I did in the backing bean:
    1) Added a managed property, bindings, of type BindingContainer and value #{bindings}, and added a BindingContainer field, bindings, to the backing bean class.
    2) In the bean class, added a TreeModel field, treeModelWrapper.
    3) Changed the getter for treeModelWrapper so it looked like this (this is inexact, I don't have access to my code right now).
    public TreeModel getTreeModelWrapper() {
        Map myTreeBinding = (Map) getBindings().getControlBinding("MyTreeBinding");
        TreeModel oldTreeModel = (TreeModel) myTreeBinding.get("treeModel");
        return new CustomTreeModel(oldTreeModel);
    }That worked, inasmuch as the general structure of the tree looked about right, and leaf nodes showed up as leaf nodes.
    There are two problems with it. A little one and a big one.
    Little: It degrades performance significantly. Not surprising, since I assume isContainerEmpty() is a more resource-intensive method than isContainer(), and we're calling it a lot more often now. There's probably no way around this.
    Big: The data seems...a bit messed up. Most of it looks right, but I'm getting weird occasional spurious child nodes (meaning that occasionally a copy of a node is showing up in a container where it doesn't belong). Since the tree is based on a self-referential relationship, that occasionally leads to infinite loops (node A and node B show up inside one another, so you can just keep expanding downwards for ever). I can't for the life of me figure out why this is.

  • 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;

  • 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

  • Programatically creating ADF Tree with nodes,child nodes & links?

    Hi,
    Currently I am using Build JDEVADF_11.1.1.3.PS2_GENERIC_100408.2356.5660. Please provide me detailed code for programatically creating ADF Tree with nodes, child nodes and links in it.
    Thanks,
    Vik

    You need to create a model for the tree. ADF has a build in model that you can use to build your own tree.
    This is what you need to write in your JSPX:
    <af:tree summary="Navigation" id="treeNav" value="#{pageFlowScope.treeNavigationBackingBean.model}"
               var="node" contextMenuSelect="true" rowSelection="single" fetchSize="30">   
           <f:facet name="nodeStamp">
          <af:outputText id="txtText" value="#{node.text}"/>
        </f:facet>
    </af:tree>This is the code to retreive the model:
      public TreeModel getModel() {
        if(model == null)
            model = new ChildPropertyTreeModel(instance,"children");
        return model;
      }instance contains the actual tree. I build it in the constructor of my managed bean:
        public BeanTreeNavigation() {
          ArrayList<TreeItem> rootItems = new ArrayList<TreeItem>();
          TreeItem node1 = new TreeItem("Root node");
             ArrayList<TreeItem> level1 = new ArrayList<TreeItem>();
             TreeItem level1Node1 = new TreeItem("Level1 Node1");
              level1.add(level1Node1);
           node1.setChildren(level1);
           rootItems.setChildren(node1); 
          this.setListInstance(rootItems);
          root = rootItems;
      public void setListInstance(List instance) {
        this.instance = instance;
        model = null;
      }The TreeItem class is not a default one. I created it myself. You can make of it whatever you want:
        public class TreeItem {
          private String text;
           private List<TreeItem> children = null;
           public TreeItem(String text){
            this.text = text;
            public void setText(String text) {
                this.text = text;
            public String getText() {
                return text;
            public void setChildren(List<TreeItem> children) {
                this.children = children;
            public List<TreeItem> getChildren() {
                return children;
            }I wrote the TreeItem as an inner class of the managed bean.
    The most important part is the getModel methode. There you need to specify an Object and the name of the getter that will return a List of the children.
    Hope this helps.
    Edited by: Yannick Ongena on Feb 22, 2011 7:30 AM

  • Flex Tree - leaf object height is overlapping.

    Hello folks,
       I am trying to build a tree component with an item renderer as below: The Text Area what I am adding as leaf node is overlapping on the next item branch node. As Tree extends List, I sent VariableRowHeight property to true. Some how tree is not treating this object as a leaf node it seems.
    Could you please guide me ??
    package my.renderers
    import flash.display.DisplayObject;
    import mx.controls.TextArea;
    import mx.controls.Tree;
    import mx.controls.listClasses.ListBase;
    import mx.controls.treeClasses.TreeItemRenderer;
    import mx.controls.treeClasses.TreeListData;
    public class MyTreeItemRenderer extends TreeItemRenderer
    public function MyTreeItemRenderer()
    super();
    override protected function commitProperties():void
    super.commitProperties();
    var textArea = new TextArea();
    override protected function createChildren():void
    super.createChildren();
    textArea.width=200;
    textArea.height= 80;
    textArea.includeInLayout = true;
    override public function set data(value:Object):void
    super.data = value;
    var _tree:Tree = Tree(this.parent.parent);
    var tld:TreeListData= TreeListData(listData)
    if(!_tree.dataDescriptor.isBranch(value))
    ListBase(this.parent.parent.parent.parent).rowHeight = textArea.height;
    trace("This is a Leaf, and so adding the Child Element" + value.toString());
    this.parent.parent.addChild(textArea);
    if(_tree.dataDescriptor.isBranch(value))
    if(_tree.contains(textArea))
    trace("This is not a Leaf and so remove the Child Element");
    removeChild(DisplayObject(textArea));
    override protected function updateDisplayList(
    unscaledWidth:Number, unscaledHeight:Number):void
    super.updateDisplayList(unscaledWidth, unscaledHeight);
    var tld:TreeListData= TreeListData(listData)
    var _tree:Tree = Tree(this.parent.parent);
    if(_tree.dataDescriptor.isBranch(tld.item))
    if(super.icon) {
    super.icon.visible=true;
    if(super.label){
    super.label.visible=true;
    else
    if(super.icon)
    super.icon.visible=false;
    if(super.label)
    super.label.visible=false;
    <my:MyTree
    variableRowHeight="true"
    indentation="0"
    defaultLeafIcon="{null}"
    folderClosedIcon="{null}"
    folderOpenIcon="{null}"
    width="100%" height="100%"
    dataProvider="{treeData}"
    showRoot="false"
    labelField="@label" />
    package my.controls
    import flash.events.MouseEvent;
    import mx.controls.Tree;
    import mx.controls.listClasses.IListItemRenderer;
    import mx.core.ClassFactory;
    import my.renderers.MyTreeItemRenderer;
    * This class extends the Tree adding separator node capability. 
    public class MyTree extends Tree
    //  Constructor
    * Constructor.
    public function MyTree()
    super();
    itemRenderer = new ClassFactory(MyTreeItemRenderer);
    //  Overridden methods
             * Override to prevent separator to be visually highlighted.
            override protected function mouseOverHandler(event:MouseEvent):void
    return;
            var item:IListItemRenderer = mouseEventToItemRenderer(event);
            if (item != null && !MyTreeItemRenderer(item).isSeparator)
                    super.mouseOverHandler(event);
             * Override to prevent separator to be selected.
            override protected function mouseDownHandler(event:MouseEvent):void
    return;
            var item:IListItemRenderer = mouseEventToItemRenderer(event);
            if (item != null && !MyTreeItemRenderer(item).isSeparator)
                    super.mouseDownHandler(event);

    Thanks pm.  I finally got it to work.  Apparently the functions implemented when using ITreeDataDescriptor don't always make sense.  To get something to be seen as a leaf and not a branch.  item.isBranch can't be the only to show false.  The item.getChildren call must also return a null ICollectionView or something crazy like that , otherwise , your leaves will have disclosure symbols beside them.

  • Tree leaf drag to bottom folder

    Hi !
    With the following code, it seems impossible to drag leaf
    "rio" (for instance) and drop it as the last child of "Europe" when
    leaf "Spain" is expanded.
    The only thing possible is to drop it as a child of "Spain"
    or as a new and last root leaf.
    This does not seem to be normal as you could drop "rio"
    between "Spain" and "England", hence as a child of "Europe"
    Thanks !
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml"
    creationComplete="init()">
    <mx:Script>
    <![CDATA[
    private function init():void {
    for each ( var child:XML in treeData..node )
    tree.expandItem(child, true);
    ]]>
    </mx:Script>
    <mx:XML id="treeData" xmlns="">
    <root>
    <node label="Americas">
    <node label="US">
    <node label="New York" />
    <node label="Chicago" />
    <node label="Los Angeles" />
    </node>
    <node label="Brazil">
    <node label="Sao Paolo" />
    <node label="Brazilia" />
    <node label="Rio" />
    </node>
    </node>
    <node label="Europe">
    <node label="England">
    <node label="London" />
    <node label="Manchester" />
    </node>
    <node label="Spain">
    <node label="Madrid" />
    <node label="Barcelona" />
    </node>
    </node>
    </root>
    </mx:XML>
    <mx:Tree width="100%" height="70%" id="tree"
    labelField="@label"
    dataProvider="{treeData.node}"
    allowMultipleSelection="false"
    dragEnabled="true"
    dropEnabled="true"
    dragMoveEnabled="true"/>
    </mx:Application>
    last

    Not without changing the source code, which only Apple have access to.
    Safari menu > Reports Bugs to Apple... ?

  • Populate a canvas when a tree-leaf node is clicked

    I'm trying to populate a canvas or a list container with
    images when a tree-leaf node is clicked. I got the tree control
    working alright so far (populated via an external XML) but I'm
    having a hard time figuring out how to populate the adjacent
    container when a leaf node from a tree is clicked by a user. I know
    I'm supposed to code this in the 'change' event but am having a
    difficult time trying to figure out how to do this. I looked at the
    source code in some of the sample apps but I couldn't find anything
    that resemble what I'm trying to do.
    Since each leaf node would be unique, each one of them would
    trigger an external load of images (via http service) ... and so
    the url would be unique as well for each.
    'Appreciate the help from anyone who could help.
    Thanks.

    Thanks for the quick response Tracy ...
    Actually, I don't have mage load part coded yet :) ... I do
    have a somewhat general idea on how it should be coded though (i
    think, hehe). I'm thinking the selected item in the leaf node would
    have the data for the 'url' or 'folder location' of the images that
    would have to be retrieved and displayed in the canvas. I'm just
    not sure how to go about diplaying them in the canvas. Do I have to
    load them in some sort of array first and then datasourced it for
    my canvas? Not really sure how to go about doing it ... 'am totally
    newbie with Flex and just learning it by going through the online
    help and looking at the codes on some of the sample apps.
    Thanks again.
    pixelflip

  • How to use tree tables with CRUD operation for begineers ADF 11g

    This is Friday night call for help.
    This is only few sample ressources on the web for tree table and only one with CRUD operation.
    I used this one http://jobinesh.blogspot.com/2010/05/crud-operations-on-tree-table.html because this is the only one that address CRUD.
    And it is shaky. Deletion works fine but insertion not very well. This is working using custom code provided below.
    Depending if the user selection in the tree, the code insert from the master node to the children node.
    Any other options because it is not working well.
    Also where Oracle describes how to use the row, rowset, itorator API? This is really hard to understand like almost if we should not use it.
    then if not how can I insert in tree with two nodes and insert in the parent or children depending the users selection.
    Lately I 'been posting questions on this forum with no response. This hurts. I understand developers cannot spend their time on this but People from Oracle, please help. We pay licenses...
    public void createChildren(RowIterator ri, Key selectedNodeKey) {
    final String deptViewDefName = "model.DepartmentsView";
    final String empViewDefName = "model.EmployeesView";
    if (ri != null && selectedNodeKey != null) {
    Row last = ri.last();
    Key lastRowKey = last.getKey();
    // if the select row is not the last row in the row iterator...
    Row[] found = ri.findByKey(selectedNodeKey, 1);
    if (found != null && found.length == 1) {
    Row foundRow = found[0];
    String nodeDefname =
    foundRow.getStructureDef().getDefFullName();
    if (nodeDefname.equals(deptViewDefName)) {
    RowSet parents =
    (RowSet)foundRow.getAttribute("EmployeesView");
    Row childrow = parents.createRow();
    parents.insertRow(childrow);
    } else {
    RowSet parents =
    (RowSet)foundRow.getAttribute("EmployeesView");
    Row childrow = parents.createRow();
    childrow.setAttribute("DepartmentId",
    foundRow.getAttribute("DepartmentId"));
    parents.insertRow(childrow);
    } else {
    System.out.println("Node not Found for " + selectedNodeKey);
    }

    I am looking for a sample that describe how to design a jsf page with a tree table.
    So you have Department and employees. In the tree first comes Department and if you click the node you see the employees assigned to this department.
    I need to be able to insert a new department or a new employee from the tree table by clicking on a insert button in the panel collection toolbar depending on user selection in the tree.
    I got part of it working but not good enough.
    By problem is the get insertion working
    I have a createChildren method in my AM implementation that get in input a RowIterator and selected node key.
    To goal is to create new records depending of the user selection and the input parameters get populated by the binding like this:
    #{backing_treeSampleBean.selectedNodeRowIterator} #{backing_TreeSampleBean.selectedNodeRowkey} via method binding with parameters.
    Is it the right approach?
    First to be able to insert a parent record, I select nothing in the tree and ri and selectedNodeKey comes to null
    we run this code
    ViewObjectImpl vo = getSchHolidaySchedExceptionsView1();
    //ViewObjectImpl vo = getDepartmentsView1();
    Row foundRow = vo.first();
    Row childrow = vo.createRow();
    vo.insertRow(childrow);
    A new blank entry appears in the parent node and we enter a value.
    The the problem starts when we want to add a child to this parent.
    We select the created parent and press the insert button, this code get executed
    if (nodeDefname.equals(deptViewDefName))
    //list of the children of the parent and create an new row
    RowSet childRows = (RowSet)foundRow.getAttribute("SchHolidayExceptionDatesView");
    Row childrow = childRows.createRow();
    childRows.insertRow(childrow);
    But the new entry does not appear, it is almost like it would be created for a different parent because this is a mandatory field that is not feel in yet and the interface complaints of a missing value. It is created somewhere just not a the right place... This is my guess.
    Do you see something wrong with the code?
    The full code og my create children method is there below
    I am using jdeveloper 11.1.1.3.0 any issues with tree table to know about with this version?
    Thanks for your help
    public void createChildren(RowIterator ri, Key selectedNodeKey) {
    final String deptViewDefName = "com.bcferries.app.pdfroutesched.model.SchHolidaySchedExceptionsView";
    final String empViewDefName = "com.bcferries.app.pdfroutesched.model.SchHolidayExceptionDatesView";
    if (ri != null && selectedNodeKey != null) {
    // last row
    Row last = ri.last();
    Key lastRowKey = last.getKey();
    // if the select row is not the last row in the row iterator...
    Row[] found = ri.findByKey(selectedNodeKey, 1);
    if (found != null && found.length == 1) {
    // foundRow is the row selected
    Row foundRow = found[0];
    // The row selected can be the parent node or the child node
    String nodeDefname = foundRow.getStructureDef().getDefFullName();
    // if parent row
    if (nodeDefname.equals(deptViewDefName))
    //list of the children of the parent and create an new row
    //works but we try to resolve the creation of a parent
    RowSet childRows = (RowSet)foundRow.getAttribute("SchHolidayExceptionDatesView");
    Row childrow = childRows.createRow();
    //childrow.setAttribute("HolidayDate", new java.util.Date().getDate());
    System.out.println("insert child row from master");
    childRows.insertRow(childrow);
    } else
    //RowSet ParentRow = (RowSet)foundRow.getAttribute("SchHolidaySchedExceptionsView");
    //RowSet childRows = (RowSet)ParentRow.first().getAttribute("SchHolidayExceptionDatesView");
    Row childrow = ri.createRow();
    System.out.println("insert child row from child ");
    } else {
    System.out.println("Node not Found for " + selectedNodeKey);
    } else {
    System.out.println(" param null try creating for first row : " +
    ri + " * " + selectedNodeKey);
    ViewObjectImpl vo = getSchHolidaySchedExceptionsView1();
    Row foundRow = vo.first();
    Row childrow = vo.createRow();
    vo.insertRow(childrow);
    }

  • ADF Tree setting focus back to parent node after deletion of child node

    Hi,
    Is there a way to get the focus back to the parent node (or rather any particular node) in a tree?
    I have a use case where we need to get the focus back to the parent node after a child node is deleted.
    Currently the focus is shifted to the next node in the tree, but the need is to get the focus shifted back to the parent node. Also the parent node should be re-invoked to populate to get the latest status after deletion of the child node.
    Any help/pointers?
    Thanks

    Thanks for the reply Frank.
    I saw the link http://sreevardhanadf.blogspot.in/2012/07/showing-next-row-as-current-row-after.html
    However the issue is since I am using custom created tree using POJO tree item (composite object).
    calling myTree.getWrappedData() doesn't gives me a handle to JUCtrlHierBinding and subsequent access to JUCtrlHierNodeBinding.
    my program gives me data like -
    List<MyTreeItem> treeData = (List<MyTreeItem>)treeModel.getWrappedData();
    because my tree model is build using -
    treeModel = new ChildPropertyTreeModel(items, "children");
    where items is List of <MyTreeItem>
    Hence I am unable to get a handle using -
    List nodeParentList = nodeParent .getKeyPath();
    I am programmatically able to invoke the parent node to get the fresh data, only issue is the focus/selection of that node is not happening
    Is there a way around?
    Thanks
    Sachin

  • Tree Component with incremental auto-refresh?

    Is there a free (preferably) or commercial JSF tree component with a general AJAX-based incremental auto-refresh?
    Essentially when dealing with a tree of data which can lose or add nodes at any time, it would be nice to have an optional polling mechanism built into the tree that would check the server for tree insertion and removal events and handle any such events whenever they're found via incremental AJAX-based modifications to the tree -- not a full refresh. The same is true for tree node change events.
    To be clear this is not a substitute for handling client events -- the tree data is indicative of shared state and changes independently from user actions.

    I was following instructions from [http://niallcblogs.blogspot.nl/2009/06/auto-refreshing-adf-chart-objects-in.html]
    But I got it to work the way you say.
    But setting refresh="always" generates exceptions in even simple cases. Is it because I am using MySQL which does not have event notification support?

  • How to open to a set child node using the swing jtree bound to adf views

    Hi All, I have an oracle adf jclient application that implements a jtree based on view objects derived from my database tables. Everything is working except that when a child table is updated and I re executequery() on my viewobject that is bound to the jtree, the tree collapses. Is there any way to programatically navigate the tree to open and select the new child node/object?

    Hi,
    didn't try it yet, but http://javaalmanac.com/egs/javax.swing.tree/FindNode.html
    may be helpful
    Frank

  • Self referencing tree flavoured with another table

    hello community,
    sorry for stupid thread title, but I can't find the right description for what I want to do atm :)
    I'm trying to create a tree from a self referencing table, but in addition I have to display childs with data from an aditional table (with reference to self referencing table). I'm using the latest JDeveloper (11.1.1.2.0) with internal WebLogic.
    To create a "not so fictive" scenario: HR.EMPLOYEES + (new) table PROJECTS (project_id, employee_id, project_name) - I want to create a tree of all employees starting with King and in addition display the assigned projects for each employee.
    It works fine without the PROJECTS table - self referencing just works as intended:
    I did this by creating a "root" viewobject on EmployeesEO ("where EmployeesEO.MANAGER_ID is null"), one "standard" viewobject on EmployeesEO (EmployeesEOView) and one viewlink on EmployeesEOView linking to itself (0..1:* EmployeeId - ManagerId):
    some screenshots:
    [the datamodel|http://img405.imageshack.us/img405/9931/selfrefworksdatamodel.png]
    [the binding rules|http://img525.imageshack.us/img525/6606/selfrefworksbinding.png]
    [the browser output|http://img6.imageshack.us/img6/2906/selfrefworksbrowser.png]
    Next, I created another (standard) viewobject on my (new) table "projects" and then created a new viewlink on EmployeesEOView (source) linking to my new AspProjectsEOView (destination) with cardinality 0..1:* EmployeeId - EmployeeId.
    After this, I added the new created viewlink to the data model of the application module and bound the new data control to the page again (as best as I could figure out the bindings).
    The result is kinda strange, I guess because ADF wants (but can't) figure out wich one to display. Well it should not display one of them, but both.
    again, some screenshots:
    [the datamodel|http://img297.imageshack.us/img297/6721/selfrefnotokdatamodel.png]
    [the binding rules|http://img263.imageshack.us/img263/6820/selfrefnotokbinding.png]
    [the browser output|http://img263.imageshack.us/img263/1720/selfrefnotokbrowser.png]
    Well you may ask yourself what's my desired result: All stays the same (in this example) but the last "manager" looks like this (in expanded mode)
    201 Michael Hartstein 100
    ____> 202 Pat Fray 201
    ____> Project 1
    Any employee without projects should appear in the usual way (not to be filtered out), the projects should just be added.
    My question is: is this even possible? If yes, how? If not, is there a way to "adjust" the output text of the "subviews" (this could be a "low tech" version - subelements named "Employees" and "Projects" instead of "EmployeesEOView" and "AspProjectsEOView")
    Thanks alot in advance for any hint!
    Edited by: asp_jko on 18.12.2009 17:46

    any help? please! :)

Maybe you are looking for

  • Resized pictures in my photo stream

    Hello eveyone, I've noticed just recently on my iPad 4th Gen that I have some of my pics on Photo Stream cutted pictures, like if you take a picture and you cutted into different sizes and then one of those cutted ones you make it bigger, and that wo

  • Jasper Report help

    any guru here have the experience of deploying Jasper report under Oracle Application Server? thought is not something popular, as I can not get much info by searching this forum and internet. i manage to generate a jrxml file using ireport, but just

  • [SOLVED] Buttons are missing in the titlebar with gtk-window-decorator

    Hi, everyone. Recently, I'd tried compiz as WM with gnome 3 in fallback mode. All work quiet good, but there is one thing, that slightly discourages me. I use gtk-window-decorator for frames and titlebar and the results are strange. Title bar is draw

  • IPhoto 5 select multiple problem

    Currently running iPhoto 5.0.4 and I cannot drag more than one photo into a photo album. I have not had this problem with past versions and I am pretty sure it is a bug of some sort. I have trashed the preferences file, clean installed iPhoto from th

  • You charced me 6.99 for one playrix game i want to cancel this one,b

    because you charced me 6.99 for this game ,because i was ordering from the app store the games i want and paayed  13.95 dollars. because i could not play your game .every time i want to play it the sign comes on pay.so please cancel ,my 6.99 cents.be