Dynamic tree selected node property id issue...

hi -
I'm successfully building a two-tier tree dynamically, but when a node is selected, it isn't consistently giving the correct property id for that node... sometimes it's correct, sometimes it's null, sometimes I have to select the node twice to get a value, or it shows the value from the previous selected node...
I've tried tree1.getSelected() and tree1.getCookieSelectedTreeNode() but it's still the same result... it acts as though the cookie isn't getting updated each time... I've tried it with and without setting 'immediate' with the same result... below is the relevant part of my code... does anyone see why it's not getting the selected property id each time? help and suggestions welcome... Thanks
try {
java.util.List newNodeChildren = newNode.getChildren();
while (srs.next()){
TreeNode newNode2 = new TreeNode();
newNode2.setTarget("_blank");
newNode2.setText(srs.getString( "issue_title"));
newNode2.setId("x" + issue_id);
//Setup action event
Hyperlink nodelink = new Hyperlink();
nodelink.setText(newNode2.getText());
nodelink.setId(newNode2.getId());
Class[] signatures = {ActionEvent.class};
MethodBinding mb1 = FacesContext.getCurrentInstance().getApplication().createMethodBinding("#{Page2.treeNodeActionListener}", signatures);
nodelink.setActionListener(mb1);
newNode2.getFacets().put(newNode2.CONTENT_FACET_KEY, nodelink);
newNodeChildren.add(newNode2);
srs.release();
} catch(SQLException ex) {
/ error("SQL Error StatusTree Retrieval: " + ex);
public void treeNodeActionListener(ActionEvent event) {
String id = tree1.getCookieSelectedTreeNode();
String actualId = id.substring(id.lastIndexOf(":")+2);
info("treeNodeActionListener actualId = " + actualId);
}

Hi,
1 I dropped Tree component from Palette. I deleted TreeNode1.
<ui:tree binding="#{Navigator.tree1}" expandOnSelect="false" id="tree1" immediate="true" style="left: 0px; top: 0px; position: absolute" text="Sometext"/>
2 In the init() method I called paintTree()
It works fine.
I use action method because I need only the id of selected node but I tested also listener method and it works
Here is my code
public void paintTree(){
ArrayList conturi=new ArrayList();
TreeNode nodN1 = new TreeNode();
TreeNode nodN2 = new TreeNode();
TreeNode nodN3 = new TreeNode();
TreeNode nodN9 = new TreeNode();
String Id;
int lga=0;
int lgc=0;
try {
conturi=getSessionBean1().getSes01FacadeRemoteClient1().getMyEjbMethod();
} catch (Exception ex) {
log(".....", ex);
Iterator iterator=conturi.iterator();
while (iterator.hasNext()) {
detalii.Conturi cont=(detalii.Conturi)iterator.next();
lgc=cont.getConts().length();
if (lga < lgc) {
if (lgc == 1) {
nodN1=new TreeNode();
Id= "Node_"+cont.getId();
nodN1.setId(Id);
nodN1.setText(cont.getDenumire());
tree1.getChildren().add(nodN1);
if (lgc == 2){
nodN2=new TreeNode();
Id= "Node_"+cont.getId();
nodN2.setId(Id);
nodN2.setText(cont.getConts()+"-"+cont.getDenumire());
nodN2.setStyleClass("leftAligned");
nodN1.getChildren().add(nodN2);
if (lgc == 3){
nodN3=new TreeNode();
Id= "Node_"+cont.getId();
nodN3.setId(Id);
nodN3.setText(cont.getConts());
nodN3.setStyleClass("leftAligned");
FacesContext context=FacesContext.getCurrentInstance();
MethodBinding mb1 = context.getApplication().createMethodBinding("#{Navigator.treeNode_action}", null);
nodN3.setAction(mb1);
nodN2.getChildren().add(nodN3);
} //end-if
} //end while
public String treeNode_action() {
try {
clientId=tree1.getCookieSelectedTreeNode();
String id =clientId.substring(clientId.lastIndexOf("_")+1);
getSessionBean1().setContId(id);
info("clientId = "+ clientId);
} catch (Exception ex) {
log("Error Description", ex);
return null;
}

Similar Messages

  • Get current Tree Select Node

    Hi,ALL
    I want to return JTree selection.
    As you know If use JTree object, we can use
    getSelectionPaths(), and use Treepah object method
    getLastPathComponent to get selected node.
    What I want to do is.
    My JTree Object model is DefaultMutableTreeNode
    i want to use DefaultMutableTreeNode to access selected Node.
    Can I do like this?
    If I can, how to do it?
    Thanks in advanced

    Hi,
    if you following that pdf ,
    i think your not implemented the below code in DomodifyView method
    if (firstTime) {
          IWDTreeNodeType treeNode = (IWDTreeNodeType) view.getElement("TheNode");
          /* The following line is necessary to create parameter mapping from parameter "path" to parameter "selectedElement".
    Parameter "path" is of type string and contains the string representation of the tree element (its corresponding context element to be exact)
    that raised the onAction event. Parameter "selectedElement" is of type IWDNodeElement (or extends it) and is defined as parameter in the event handler
    that handles the onAction. The parameter mapping defined here translates the String "path" into the corresponding context element that then can
    be accessed within the event handler
          treeNode.mappingOfOnAction().addSourceMapping("path", "selectedElement");
          /* The following line is necessary to create parameter mapping from parameter "path" to parameter "element".
    Parameter "path" is of type string and contains the string representation of the tree element (its corresponding context element to be exact)
    that raised the onLoadChildren event. Parameter "element" is of type IWDNodeElement (or extends it) and is defined as parameter in the event handler
    that handles the onLoadChildren. The parameter mapping defined here translates the String "path" into the corresponding context element that then can
    be accessed within the event handler
          treeNode.mappingOfOnLoadChildren().addSourceMapping("path", "element");
    please cross check once.
    Thanks,
    Ramesh

  • Get tree selected node onPageLoad

    We just turned on change persistence to keep our row selections as we traverse our taskflows and pages.
    In one of our pages we have a situation where we have a tree (master) and table (table) whose data is partially based on what is selected in that tree. We use the following logic to determine what is selected in the tree to perform the query on the table.
    public static JUCtrlHierNodeBinding getTreeSelectedNode(RichTree tree) {
    JUCtrlHierNodeBinding node = null;
    if (tree != null) {
    Object oldRowKey = tree.getRowKey();
    try {
    RowKeySet selectedRowKeySet = tree.getSelectedRowKeys();
    if (selectedRowKeySet != null) {
    for (Object selectedRowKey : selectedRowKeySet) {
    tree.setRowKey(selectedRowKey);
    node = (JUCtrlHierNodeBinding)tree.getRowData();
    break;
    } finally {
    tree.setRowKey(oldRowKey);
    return node;
    I hooked up a beforePhase listener on my jspx to call this function and get the (previously - last time user was on this page) selected row and then refresh the table based on the selected tree row's data. This seems to work, but . . . in my log I'm seeing the following error. It seems like for some reason it's trying to convert my Raw UUID to an int, I have no idea why.
    <SortableModel> <_toRowIndex> Invalid rowkey:oracle.jbo.Key[B68F305BF7F5496D8A0FF99EE8F97CF0 ] type:class oracle.jbo.Key
    <SortableModel> <_toRowIndex>
    java.lang.ClassCastException: oracle.jbo.Key cannot be cast to java.lang.Integer
    at org.apache.myfaces.trinidad.model.SortableModel._toRowIndex(SortableModel.java:341)
    at org.apache.myfaces.trinidad.model.SortableModel.setRowKey(SortableModel.java:137)
    at org.apache.myfaces.trinidad.model.ChildPropertyTreeModel._setRowKey(ChildPropertyTreeModel.java:376)
    at org.apache.myfaces.trinidad.model.ChildPropertyTreeModel.setRowKey(ChildPropertyTreeModel.java:178)
    at org.apache.myfaces.trinidad.component.UIXCollection.setRowKey(UIXCollection.java:425)
    at oracle.apps.aia.sr.common.JSFUtils.getTreeSelectedNode(JSFUtils.java:392)
    So, I thought that maybe this wasn't the best way to get the selected node. So, after some research I changed the logic to be:
    public static JUCtrlHierNodeBinding getTreeSelectedNode(RichTree tree) {
    JUCtrlHierNodeBinding node = null;
    if (tree != null) {
    CollectionModel treeModel = (CollectionModel)tree.getValue();
    if (treeModel != null ){
    JUCtrlHierBinding treeBinding = (JUCtrlHierBinding)treeModel.getWrappedData();
    if (treeBinding != null){
    RowKeySet rks = tree.getSelectedRowKeys();
    if (rks != null){
    if (!rks.isEmpty()){
    List firstSet = (List)rks.iterator().next();
    node = treeBinding.findNodeByKeyPath(firstSet);
    return node;
    However, at the time of the beforePhase (I even tried an afterPhase listener) the tree isn't null, but the CollectionModel is null for some reason. I'm not sure where to go from here, any ideas?

    Hi,
    if you use lazy loading (contentdelivery="lazy" then the data is queried after the tree renders. ou would need to set it to immediate to acess data suring the Preparerender phase).
    Frank

  • How to get the selected node value of a tree which is build on java code

    Hi Experts,
    How can i get the selected node value if I build the tree programatically.
    I am using the following code in selectionListener but it is throwing error.
    RichTreeTable treeTable = (RichTreeTable)getQaReasontreeTable();
    CollectionModel _tableModel =
    (CollectionModel)treeTable.getValue();
    RowKeySet _selectedRowData = treeTable.getSelectedRowKeys();
    Iterator rksIterator = _selectedRowData.iterator();
    String selectedQaCode ="";
    while (rksIterator.hasNext()) {
    List key = (List)rksIterator.next();
    JUCtrlHierBinding treeTableBinding =
    (JUCtrlHierBinding)((CollectionModel)treeTable.getValue()).getWrappedData();
    JUCtrlHierNodeBinding nodeBinding =
    treeTableBinding.findNodeByKeyPath(key);
    String nodeStuctureDefname =
    nodeBinding.getHierTypeBinding().getStructureDefName();
    selectedQaCode = selectedQaCode + nodeBinding.getAttribute(0);
    where I am using following link to create a tree with java code.
    http://one-size-doesnt-fit-all.blogspot.com/2007/05/back-to-programming-programmatic-adf.html
    Please help me in resolving this issue.
    Regards
    Gayaz

    Hi,
    you should also move
    JUCtrlHierBinding treeTableBinding =
    (JUCtrlHierBinding)((CollectionModel)treeTable.getValue()).getWrappedData();
    out of the while loop as this is not necessary to be repeated for each key in the set
    Frank

  • Howto: display dynamic form on tree selection (jdev 11gR1)

    Heya,
    another question by myself, hoping for an advice.
    I finally made a tree including different types of "objects" into one tree (based on ADF BC). Simple example use case used in this post: displaying employee hierarchy PLUS assigned projects per employee.
    So my current problem is: what is the "way to go" to change the form in the "content" facet (made a simple splitter layout with tree in left facet and "content" in right facet) AND binding the data to it? Clicking on an employee would open the employee form and load data for selected employee into it, but clicking on a project would open the project form and loading data for selected project into it. I have all data available in the tree application module and the decision "what to display" is based on one of the attributes.
    All tutorials I found so far for master/detail are kinda "static" (linking employee tree to employee form) and I can't figure out how to do want I want to do.
    Is this possible going the declarative way? If yes, how? Or do I have to code something? If yes, how? No need for actual code, just need a hint what to look for.. feeling lost atm.
    Any help is highly appreciated. :)

    Hi,
    here's how you do it
    1. Create a iterator binding for the project ViewObject (choose a ViewObject instance that is not dependent to the employees ViewObject you use as the tree top level)
    2. In the binding editor, expand the Data Source entry (below the rule attribute configuration) and create an EL expression that references the iterator bindingyou created
    This ensures that selecting an emplloyee is synchronized with the Employee iterator used to build the top level nodes and the selected project is synchronized with the project iterator node.
    3. Add a switcher component to switch between the employee and the project edit form
    4. Create a facet in the af:switcher that has the name of the full employee view object e.g. adf.mysample.EmployeesView
    5. Create a facet in the af:switcher for the full name of the Project VO
    6. Drag and drop the EmployeeView entry from the data Controls palette as a form into the Employees facet
    7. Do the same for the Projects (make sure you use the Projects VO that is not depedent)
    Set the default value of the switcher too point to the facet that should be shown by default. The value of the switcher set to an EL that points to a managed bean method or memory attribute. Upon selecting a node (you can use the tree node selection listener) you access the selected tree node. The selection listener code woud look as shown below
      //tree reference can be obtained from the selectionListener event (Source) or from a JSF component binding property reference
      //example uses the latter
      RichTree tree = this.getTree1();
      //get selected row keys. This could be a single entry or
      //multiple entries dependent on whether the tree is
      //configured for multi row selection or single row selection
      RowKeySet rks = tree.getSelectedRowKeys();
      Iterator rksIterator = rks.iterator();
      //assuming single select use case. Otherwise, this is where you
      //need to add iteration over the entries in the multi select use case
      if (rksIterator.hasNext()){
        //a key is a list object that containe the node path information for the
        //selected node
        List key = (List)rksIterator.next();
        //determine the selected node. Note that the tree binding is an instance of
        //JUCtrlHierBinding
        JUCtrlHierBinding treeBinding = null;
        //We can get the binding information without using EL in our Java, which you always should
        //try to do. Using EL in Java is good to use, but only second best as a solution
        treeBinding = (JUCtrlHierBinding) ((CollectionModel)tree.getValue()).getWrappedData();
        //the row data is represented by the JUCtrlHierNodeBinding class at runtime. We get the node value
        //from the tree binding at runtime     
        JUCtrlHierNodeBinding nodeBinding = treeBinding.findNodeByKeyPath(key);
            //the JUCtrlHierNodeBinding object allows you to access the row data, so if all you want is to
        //get the selected row data, then you are done already. However, in many cases you need to further
        //distinguish the node, which is what we can do using the HierTypeBinding
        String nodeStuctureDefname = nodeBinding.getHierTypeBinding().getStructureDefName();
       //determine the selected node by the ViewObject name and package
       String employeesDef = "adf.mysample.EmployeesView";
       String projectDef = "adf.mysample.ProjectsView";
      if (nodeStuctureDefname.equalsIgnoreCase(empoyeesDef)){
         // change value reference used in af:switcher and partially refresh the af:switcher component to show the edit form
         // e.g. change the value of the refrenced memory attribute or managed bean variable
       else if (nodeStuctureDefname.equalsIgnoreCase(projectDefDef)){
         // change value reference used in af:switcher and partially refresh the af:switcher component to show the edit form
         // e.g. change the value of the refrenced memory attribute or managed bean variable
       else{
        //what the heck did the user click on? Ask him ;-)
       }Frank

  • Issue with creation of ADF Table from ADF Tree selection

    Hi,
    Following is the usecase.
    I've created ParentVO & ChildVO from a single table with view criteria to filter the nodes.And then created two View links ParentToChild & ChildToChild.
    Added VOs & corresponding ViewLinks to ApplicationModule. It's got created hierarchy as Parent1->Child1->Chiled2 in Data model section of AM.So Iam done with tree creation process in Model.
    As VC can't be applied for sub levels. In order to set the VCs for sublevels, followed the below approach.
    Created a bind variable for tree. I've set the VC for both parent & child VOs in managed bean before setting the tree variable in setTree method. So now Iam able to display the required tree in UI with applying VCs.
    Now , I can select the required nodes from tree and then click on command button to display the selection list as a table.
    In order to achieve this, I tried below two options.
    1) Created separate Child VO instance (Child3) from Child VO and applied same view which applied initially. and the dragged the Child3 from Datacontrol to UI(jsff) as a table. When I run the application,it's displaying all the records from the DB table without applying VCs.
    2) Dragged the Child2 as a table on UI. When I run the application, it's displaying first record from the table without applying VC.
    But no luck in getting the required functionality.
    I've Following queries.
    a) If we update any transient attribute value for an VO instance, will it effect at VO level or only for that particular instance?
    Why because, I've created new instance of same VO. But the changes are not effecting for transient attributes in the new instance of VO.
    b) Can some one suggest on my usecase to display the selected nodes from a tree in table format?
    I tried my level best to explain the usecase. But let me know,if you have any queries on my usecase.
    Thanks in advance,
    Samba.

    This is my code:
    <af:column id="c1" headerText="Sponsor Status">
    <af:selectOneChoice label="Label 2" id="soc1" value="#{row1.sponsorStatusDesc}"
    validator="#{backingBeanScope.EditSponsorDetails.OnSponsorStatusChange}"
    valuePassThru="true">
    <f:selectItems value="#{pageFlowScope.confLists.spStatus}"
    id="si1"/>
    </af:selectOneChoice>
    </af:column>
    and this i what HTML code says..
    <select id="confSponsor:r2:0:tbIEEEsp:0:soc1::content" class="x2h" name="confSponsor:r2:0:tbIEEEsp:0:soc1">
    <option _adftmpopt="t" value="" title=""></option>
    <option value="4" title="Approved">Approved</option>
    <option value="3" title="Declined">Declined</option>
    <option value="6" title="New">New</option>
    <option value="2" title="Not Valid">Not Valid</option>
    <option value="5" title="On Hold">On Hold</option>
    <option value="1" title="Pending Approval">Pending Approval</option>
    <option value="7" title="Unidentified">Unidentified</option>
    </select>
    Stll i cannot see any value populated in SelectOneChoice

  • Auto scrolling to a selected node in Tree

    Hi All,
    In my one of my flex application, i am selected nodes in a tree based on some input. However, if my tree is large and the selected node is at the bottom then i cant see what is selected until i scroll down. Is there any automatic way of scrolling to a node when that node is selected?
    Thanks.

    I have tried the following, but it is not working.
    Tree.scrollToIndex(Tree.selectedIndex);
    Any idea?

  • Right click select node in tree (for a standalone Air app)?

    For the sake of userfriendliness (in regard to a context menu) I wold like to "move" the selected node in a tree to the node that currently has the focus when right clicking it - like how the context menu access in windows file explorer works (focus and selected item are always the same  when right clicking).
    In worst case scenario I would like to disable a created context menu if the selected node and the node that currently has the focus are not the same).
    Now users can get confused when right clicking to access my context menu, in the tree structure, if the selected node and the node they are currently hovering over (and thus are in focus) are different.
    I was thinking of finding which node currently has the focus and then making that node the selected node - but I cant get it to work:-).
    Please, help a beginner.

    Hi,
    Duplicate thread of
    http://swforum.sun.com/jive/thread.jspa?threadID=64518
    MJ

  • Save selected node in Tree control

    I'm making this flex form for my school to add a new student
    to the DB. When the admin clicks on a button it will open a Tree
    control that displays the available courses and sections in the
    following heirarchy:
    Year>Semester>Course Name>Sections
    Now I want that when he clicks on the button Select within
    this new window showing the Tree, it will store the current
    selected node and the full path to it, so that back in the original
    form it will display the Year, Semester, Course name and section.
    I've tried using the value and selecteditem methods from the tree
    control but they are not working. Any ideas to figure out the full
    path of the selected item?

    You will need to climb back up the ancestor nodes to build
    that path yourself.
    "parent()" i believe returns the parent of the current node.
    Tracy

  • I need only to select node with "NodeName" (or/and Number) in a Java Tree

    I need only to select node with "NodeName" (or/and Number) in a Java Tree. Can anybody help me? Thanks a lot

    http://www.jetbrains.com/idea/openapi/5.0/com/intellij/util/ui/tree/TreeUtil.html
    http://www.tangoone.com/swf/docs/javadocs/org/swf/components/TreePane.html
    I fin SelectNode() function here - but I don't know how to connect these clases

  • How to get UIComponent of the selected node in af:tree with drag and drop

    Hi
    Are there examples showing how one could get a UIComponent using DropEvent to be used with a Popup showing as a custom "context menu" at the target node ?
    Right now, with dropEvent.getDropComponent, we could only get the tree.
    We like to get its selected node so that the popup shows at the node level, not at the tree level.
    Thanks

    Hi Frank
    Thanks for responding.
    We like to show on our custom "context menu" using PopupHints (not using facet name contextmenu) with 3 commandMenuItems.
    Since component id is needed by PopupHints to place this custom "context menu", we tried
    RichTree dropTree = (RichTree)dropEvent.getDropComponent();
    alignId = dropTree.getClientId(context);
    // alignId = pt1:pt_region1:1:pt1:pc1:navTree
    getClientId returns us the tree id and hence the context menu is placed next to tree.
    We like to place the context menu next to a target node of the tree when dragging and dropping.
    But we couldn't figure out how to get that node id.
    In your suggestion,
    List dropRowKey = (List) dropEvent.getDropSite();
    RichTree dropComponent = (RichTree) dropEvent.getDropComponent();
    dropCompoent.setRowKey(dropRowKey);
    how do we then get the id of this node then ? What's the method ?
    Thanks Frank

  • Selecting node of tree

    Hello thanks for anyone before..
    I have a problem with selection of my Tree. my tree nodes contains of ItemFormat like :
    class ItemFormat
    private String code;
    private String description;
    ..... mutator and accessor methods......
    when i have displayed my tree successfully i can print on screen about selected itemFormat to display description instance variable.
    but after I edit my node and then i selected again the selected node can't be casted to ItemFormat to display its description...
    please help me...
    thanks before....

    Thanks Tony,
    The application I have is a means of commercial seafood dealers recording what species they have purchased/landed. The page is designed with a tree listing all of the species and their sizes and then the tabular report of landings. The current application uses a collection to display the landings....I was trying to get rid of the collection and populate the table directly.
    thanks for getting back to me. Sounds like I will need to keep the collection....just looking for examples.

  • Highlight selected node in tree

    I have a tree in the left, representing my company´s departments structure and in the right, when clicked, I show the employees that are subject to that department.
    I´ve noticed there´s no visual nor code (id, class, nothing) difference between the currently selected node of a tree and the others.
    There´s a way to do that? I thought about using js, but the only way a see to do that is using a regex in the link text of that node, comparing to the variable that that was passed to the page.
    Someone?
    Thanks

    Trees currently don’t have a concept of a “current” node. You could try using lists instead; though they won’t be query based, they would have to have static values. And in the current 1.6 version you can’t have hierarchical lists, though that will be added in 2.0.
    Marc

  • ADF Tree 10.1.3.1, not highlighting the selected node.

    Hi,
    I'm having a problem highlighting the selected node in the ADF CoreTree.
    I use the treehandler and model as described in the link: http://technology.amis.nl/blog/2116/much-faster-adf-faces-tree-using-a-pojo-as-cache-based-on-read-only-view-object-showing-proper-leaf-nodes-again
    I use this objects because my tree was showing leaf node with the image to collapse.
    The tree now looks great, the only problem is that when i click on a node the focusRowKey is set accordingly(debugging the getter and setter) but is not show as the selected node.
    The tree jspx code looks the follow:
                   <!--TREE-->
                                     <af:tree value="#{ActosTreeHandler.treemodel}" var="node"
                                               focusRowKey="#{ActosTreeHandler.focusRowKey}"
                                               id="treeActos"
                                               varStatus="nodeStatus" binding="#{ActosTreeHandler.jsfTree}">
                                        <f:facet name="nodeStamp">
                                          <af:commandLink text="#{node.description}" partialTriggers="treeActos"
                                                          action="#{backing_documentos_detalhesDocumento.treeAction}">
                                            <!--disabled="#{node.nodeType != 'ACTO'}"-->
                                            <af:setActionListener from="#{ActosTreeHandler.jsfTree.rowKey}"
                                                                  to="#{ActosTreeHandler.focusRowKey}"/>
                                            <af:setActionListener from="#{node}"
                                                                  to="#{ActosTreeHandler.selectedNode}"/>
                                            <af:resetActionListener/>
                                          </af:commandLink>
                                        </f:facet>
                                      </af:tree>Does anyone know how this can be solved?
    Best Regards.

    Hi,
    is this the same as
    Re: Facing a problem in programmatically setting focus on a node in <af:tre
    Frank

  • How we know the selected node in a Tree object in a form?

    In a TREE object in forms, how can we know the current selected node by clicking a push button.
    lets say , there are 10 nodes in my tree, and 5th one i selected. But i want to store the selected node in a variable, when i click a button.
    please help
    thanks

    Hello
    I've just notice what might be a bug in Oracle forms because when I have the when-tree-node-selected trigger present for the tree (It does not matter if it executes null or some code), the code in option 1 works fine on a when-button-pressed trigger on a button item. This is what I had done to give you a reply.
    My second option will work because you're populating a parameter with when-tree-node-selected trigger which is then readable form anywhere else in the form. All you add is a check on when-button-pressed. Also for bug handling you need to consider setting the value to null when deselecting. I have this option working currently in one of my applications.
    DECLARE
         num_selected NUMBER;
         htree ITEM;
    curren_node FTREE.NODE;
    BEGIN
    htree := find_item('tree.form_list');
    num_selected := ftree.get_tree_property(htree,ftree.selection_count);
    for j in 1..num_selected
    LOOP
    curren_node := ftree.get_tree_selection(htree,j);
    message('hello :'||ftree.Get_Tree_Node_Property(htree,curren_node,ftree.node_value),acknowledge);
    end loop;
    END;     
    cheers
    Q

Maybe you are looking for