Issue With ADF Tree Expand/Collapse

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

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

Similar Messages

  • Issue with ADF Tree Table

    Hi,
    I have the following requirement where i need to display a tree table. Here is how the initial implementation is:
    I have created the read only view for : ManagersVO > PoolsVO > MachinesVO. Where 'MachinesVO' is the destination view. And created view links between ManagersVO & PoolsVO using ManagerId and PoolsVO & MachinesVO using PoolId.
    And using this implementation, successfully created tree table on the UI. Now we got an enhancement for this:
    i.e., MachinesVO should return list of machines as per user logs in. i.e., we have 4 different roles. 'Super Admin', 'Sys Admin', 'App Admin', 'End User'. The default query for MachinesVO is for 'Super Admin'. The query for other user roles is different except the SELECT statement.
    The requirement is to dynamically change the query of MachinesVO based on user logs in and display the tree table accordingly. To implement the same i have tried using setQuery() operation on 'MachinesVO' which results with the following error:
    JBO-26016: InvalidOperException
    Cause: You cannot set customer query (calling setQuery()) on a view object if it is the detail view object in a master detail view link.
    Action: Do not call setQuery() if the view object is a detail.
    Can one suggest me a best solution to implement this.
    Thanks & Regards,
    Kiran

    Hi Navaneetha Krishnan,
    Here is how i implemented based on your comments. As i have tree table based 3 different VO's, created the following method at middle view(i.e., PoolsVO).
    1.Tree Model hierarchy
    ManagersVO > PoolsVO > MachinesVO
    I actually want to filter the data at Machines level. Hence wrote a method at PoolsVOImpls and exposed it in the PoolsVO client interface. Here is the code that i have placed in the PoolVOImpl
    public class PoolsVOImpl extends ViewObjectImpl implements PoolsVO{
         * This is the default constructor (do not remove).
        public PoolsVOImpl () {
      public void filterMachinesDataByUserRole(String userRole,String vzId){
        Row row = getCurrentRow();
        String query = "";
        if(row != null){
          RowSet rowSet = (RowSet)row.getAttribute("MachinesVO");
          if(rowSet != null){
            MachinesVOImpl machinesVOImpl = (MachinesVOImpl)rowSet.getViewObject();
            if(userRole.equalsIgnoreCase("SYS ADMIN")){
                    machinesVOImpl .setWhereClause(query related to sysadmin);
             //Similarly for other user roles.
             executeQuery();
    }And this piece of code needs to be executed before the jsff(which has the tree table) renders. Hence, i created a this methodAction as a default activity in the respective taskflow where the jsff is placed. Once this method get executed, the page should render the machines specific to the user.
    Here is the issue: getCurrentRow() method call is returning always NULL.
    Please correct me if i'm doing something wrong. I do tried the above mentioned approach by creating the method at '*ManagersVOImpl*' level too. Still the same issue.
    Thanks & Regards,
    Kiran

  • Af:tree expand/collapse customization

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

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

  • View Criteria issue on ADF Tree

    Hi,
    JDev 11.1.1.5.0
    I am facing an issue while displaying ADF tree. 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. When I tried to run application module, getting the results as per expectation (applying view criteria at each level).
    Now i've dragged the parent vo from data control on to jspx page. when I run the jspx page, it's displaying the tree structure.
    Issue is only view criteria is applying for top level nodes(parent VO) but not sub levels. If there is some issue with creation of View criteria then it should give same problem while executing AM. But while running AM, getting the expected results.
    It would be great if you provide any clue on this issue
    Thanks,
    Samba

    Thanks for your response.
    But my usecase is different. I need to filter the sublevels of the tree.
    Following is the sample
    Level1
         Level1.1
         Level1.2
         Level1.3
    Level2
         Level2.1
         Level2.2
         Level2.3
         Level2.4
    Level3
         Level3.1
         Level3.2
         Level3.3
    If I gave View Criteria as contains '2' then, Need to filter the nodes contains character 2. Able to filter first level nodes according VC. But VC is not applying for sub levels. Is there any way to set the VC in my case?

  • JTree with XML content expand/collapse problem

    Hello all,
    I'm having this very weird problem with a JTree I use to display the contents of an XML file. I use the DOM parser (and not JDOM since I want the application to run as an applet as well, and don't want to have any external libraries for the user to download) and have a custom TreeModel and TreeNode implementations to wrap the DOM nodes so that they are displayed by the JTree.
    I have also added a popup menu in the tree, for the user to be able to expand/collapse all nodes under the selected one (i.e. a recursive method).
    When expandAll is run, everything works fine and the children of the selected node are expanded (and their children and so on).
    However, after the expansion when I run the collapseAll function, even though the selected node collapses, when I re-expand it (manually not by expandAll) all of it's children are still fully open! Even if I collapse sub-elements of the node manually and then collapse this node and re-expand it, it "forgets" the state of it's children and shows them fully expanded.
    In other words once I use expandAll no matter what I do, the children of this node will be expanded (once I close it and re-open it).
    Also after running expandAll the behaviour(!) of the expanded nodes change: i have tree.setToggleClickCount(1); but on the expanded nodes I need to double-click to collapse them.
    I believe the problem is related to my implementations of TreeModel and TreeNode but after many-many hours of trying to figure out what's happening I'm desperate... Please help!
    Here's my code:
    public class XMLTreeNode implements TreeNode 
         //This class wraps a DOM node
        org.w3c.dom.Node domNode;
        protected boolean allowChildren;
        protected Vector children;
        //compressed view (#text).
         private static boolean compress = true;   
        // An array of names for DOM node-types
        // (Array indexes = nodeType() values.)
        static final String[] typeName = {
            "none",
            "Element",
            "Attr",
            "Text",
            "CDATA",
            "EntityRef",
            "Entity",
            "ProcInstr",
            "Comment",
            "Document",
            "DocType",
            "DocFragment",
            "Notation",
        static final int ELEMENT_TYPE =   1;
        static final int ATTR_TYPE =      2;
        static final int TEXT_TYPE =      3;
        static final int CDATA_TYPE =     4;
        static final int ENTITYREF_TYPE = 5;
        static final int ENTITY_TYPE =    6;
        static final int PROCINSTR_TYPE = 7;
        static final int COMMENT_TYPE =   8;
        static final int DOCUMENT_TYPE =  9;
        static final int DOCTYPE_TYPE =  10;
        static final int DOCFRAG_TYPE =  11;
        static final int NOTATION_TYPE = 12;
        // The list of elements to display in the tree
       static String[] treeElementNames = {
            "node",
      // Construct an Adapter node from a DOM node
      public XMLTreeNode(org.w3c.dom.Node node) {
        domNode = node;
      public String toString(){
           if (domNode.hasAttributes()){
                return domNode.getAttributes().getNamedItem("label").getNodeValue();
           }else return domNode.getNodeName();      
      public boolean isLeaf(){ 
           return (this.getChildCount()==0);
      boolean treeElement(String elementName) {
          for (int i=0; i<treeElementNames.length; i++) {
            if ( elementName.equals(treeElementNames)) return true;
    return false;
    public int getChildCount() {
         if (!compress) {   
    return domNode.getChildNodes().getLength();
    int count = 0;
    for (int i=0; i<domNode.getChildNodes().getLength(); i++) {
    org.w3c.dom.Node node = domNode.getChildNodes().item(i);
    if (node.getNodeType() == ELEMENT_TYPE
    && treeElement( node.getNodeName() ))
    // Note:
    // Have to check for proper type.
    // The DOCTYPE element also has the right name
    ++count;
    return count;
    public boolean getAllowsChildren() {
         // TODO Auto-generated method stub
         return true;
    public Enumeration children() {
         // TODO Auto-generated method stub
         return null;
    public TreeNode getParent() {
         // TODO Auto-generated method stub
         return null;
    public TreeNode getChildAt(int searchIndex) {
    org.w3c.dom.Node node =
    domNode.getChildNodes().item(searchIndex);
    if (compress) {
    // Return Nth displayable node
    int elementNodeIndex = 0;
    for (int i=0; i<domNode.getChildNodes().getLength(); i++) {
    node = domNode.getChildNodes().item(i);
    if (node.getNodeType() == ELEMENT_TYPE
    && treeElement( node.getNodeName() )
    && elementNodeIndex++ == searchIndex) {
    break;
    return new XMLTreeNode(node);
    public int getIndex(TreeNode tnode) {
         if (tnode== null) {
              throw new IllegalArgumentException("argument is null");
         XMLTreeNode child=(XMLTreeNode)tnode;
         int count = getChildCount();
         for (int i=0; i<count; i++) {
              XMLTreeNode n = (XMLTreeNode)this.getChildAt(i);
              if (child.domNode == n.domNode) return i;
         return -1; // Should never get here.
    public class XMLTreeModel2 extends DefaultTreeModel
         private Vector listenerList = new Vector();
         * This adapter converts the current Document (a DOM) into
         * a JTree model.
         private Document document;
         public XMLTreeModel2 (Document doc){
              super(new XMLTreeNode(doc));
              this.document=doc;
         public Object getRoot() {
              //System.err.println("Returning root: " +document);
              return new XMLTreeNode(document);
         public boolean isLeaf(Object aNode) {
              return ((XMLTreeNode)aNode).isLeaf();
         public int getChildCount(Object parent) {
              XMLTreeNode node = (XMLTreeNode) parent;
    return node.getChildCount();
         public Object getChild(Object parent, int index) {
    XMLTreeNode node = (XMLTreeNode) parent;
    return node.getChildAt(index);
         public int getIndexOfChild(Object parent, Object child) {
    if (parent==null || child==null )
         return -1;
              XMLTreeNode node = (XMLTreeNode) parent;
    return node.getIndex((XMLTreeNode) child);
         public void valueForPathChanged(TreePath path, Object newValue) {
    // Null. no changes
         public void addTreeModelListener(TreeModelListener listener) {
              if ( listener != null
    && ! listenerList.contains( listener ) ) {
    listenerList.addElement( listener );
         public void removeTreeModelListener(TreeModelListener listener) {
              if ( listener != null ) {
    listenerList.removeElement( listener );
         public void fireTreeNodesChanged( TreeModelEvent e ) {
    Enumeration listeners = listenerList.elements();
    while ( listeners.hasMoreElements() ) {
    TreeModelListener listener =
    (TreeModelListener) listeners.nextElement();
    listener.treeNodesChanged( e );
         public void fireTreeNodesInserted( TreeModelEvent e ) {
    Enumeration listeners = listenerList.elements();
    while ( listeners.hasMoreElements() ) {
    TreeModelListener listener =
    (TreeModelListener) listeners.nextElement();
    listener.treeNodesInserted( e );
         public void fireTreeNodesRemoved( TreeModelEvent e ) {
    Enumeration listeners = listenerList.elements();
    while ( listeners.hasMoreElements() ) {
    TreeModelListener listener =
    (TreeModelListener) listeners.nextElement();
    listener.treeNodesRemoved( e );
         public void fireTreeStructureChanged( TreeModelEvent e ) {
    Enumeration listeners = listenerList.elements();
    while ( listeners.hasMoreElements() ) {
    TreeModelListener listener =
    (TreeModelListener) listeners.nextElement();
    listener.treeStructureChanged( e );
    The collapseAll, expandAll code (even though I m pretty sure that's not the problem since they work fine on a normal JTree):
        private void collapseAll(TreePath tp){
             if (tp==null) return;
             Object node=tp.getLastPathComponent();
             TreeModel model=tree.getModel();
             if (!model.isLeaf(node)){
                  tree.collapsePath(tp);
                  for (int i=0;i<model.getChildCount(node);i++){
                  //for (int i = node.childCount()-4;i>=0;i--){
                       collapseAll(tp.pathByAddingChild(model.getChild(node,i)));
                  tree.collapsePath(tp);
        private void expandAll(TreePath tp){
             if (tp==null) return;
             Object node=tp.getLastPathComponent();
             TreeModel model=tree.getModel();
             if (!model.isLeaf(node)){
                  tree.expandPath(tp);
                  for (int i=0;i<model.getChildCount(node);i++){
                  //for (int i = node.childCount()-4;i>=0;i--){
                       expandAll(tp.pathByAddingChild(model.getChild(node,i)));

    Hi,
    Iam not facing this problem. To CollapseAll, I do a tree.getModel().reload() which causes all nodes to get collapsed and remain so even if I reopen them manually.
    Hope this helps.
    cheers,
    vidyut

  • Context menu refresh issue in adf tree.

    Hi All,
    I am using jdeveloper 12.1.2.2.0.
    I have a programmatically generated tree in which I have added two buttons in the context menu using context menu facet.
    * I have selection listener in the tree and right click also selects the node.
    There are two issues regarding the context menu:
    1. If I right click the tree node, the context menu is showing only the two buttons I added and it is not showing the default expand/collapse, expand all/collapse all below and show as top options of context menu. Once I refresh the tree region doing some actions in the page, it is showing all the options.
    2. The buttons I added inside the context menu have disabled conditions and the trigger is given for the parent container "popup" which will be triggered by tree node selection. The problem is that whenever I right click the tree node, the popup is refreshed because of the trigger and the expand/collapse functions are not working. If I right the same node again the functions are working fine.
    How to resolve these issues?
    Thanks in advance.
    - Vignesh S.

    Any suggestions would be helpful.
    The below is the xml of the tree:
                                                           <af:tree var="node" value="#{dmc.btm.model}" id="btc"
                                                                     rowSelection="#{(viewScope.fc.editable || viewScope.cc.editable || viewScope.bc.editable) ? 'none' : 'single'}"
                                                                     immediate="false" initiallyExpanded="false"
                                                                     selectionListener="#{dmc.selectionListener}"
                                                                     fetchSize="100" expandAllEnabled="true">
                                                                <f:facet name="nodeStamp">
                                                                    <af:group id="g3">
                                                                        <af:image source="#{node.icon}" id="i1"/>
                                                                        <af:outputText value="#{node.id}" id="ot4"/>
                                                                    </af:group>
                                                                </f:facet>
                                                                <f:facet name="contextMenu">
                                                                    <af:popup childCreation="deferred" autoCancel="enabled"
                                                                              id="p1" partialTriggers="::btc"
                                                                              contentDelivery="lazyUncached">
                                                                        <af:menu text="menu 1" id="m1">
                                                                            <af:toolbar id="t4">
                                                                                <af:commandToolbarButton shortDesc="Create"
                                                                                                         text="#{prop['label.new']}"
                                                                                                         icon="images/new_ena.png"
                                                                                                         disabledIcon="images/new_dis.png"
                                                                                                         id="ctb4"
                                                                                                         actionListener="#{dmc.newListener}"
                                                                                                         partialSubmit="true"
                                                                                                         disabled="#{!dmc.createButtonEnabled || viewScope.fc.editable || viewScope.cc.editable}"/>
                                                                            </af:toolbar>
                                                                            <af:toolbar id="t5">
                                                                                <af:commandToolbarButton shortDesc="Delete"
                                                                                                         text="#{prop['label.delete']}"
                                                                                                         icon="images/delete_ena.png"
                                                                                                         disabledIcon="images/delete_dis.png"
                                                                                                         id="ctb5"
                                                                                                         actionListener="#{dmc.deleteListener}"
                                                                                                         disabled="#{!dmc.deleteButtonEnabled || viewScope.fc.editable || viewScope.cc.editable}"/>
                                                                            </af:toolbar>
                                                                        </af:menu>
                                                                    </af:popup>
                                                                </f:facet>
                                                            </af:tree>

  • Layout issue with af:tree component

    I am using af:tree component but I am finding layout issue with it. I have a requirement where in I need the tree to stretch to the available space but a horizontal and a vertical scrollbar comes up automatically. Is there a way to handle this issue?

    User, without your jdev version it's hard to help.
    Have you embedded the tree component in a stretch layout?
    Timo

  • Check/Uncheck issue in ADF Tree

    Hi,
    I am using JDev 11.1.1.5.0. Iam trying to create a ADF Tree from Single VO object with self-reference with check box option. Iam able to create required ADF tree with checkbox option. Some how, unable to provide select-deselect functionality. I mean, if we select any node from the tree, all the sub nodes (till leaf node) should be in select state. Only one node in select state. Rest are not updating.
    Tried to find in JDev forum. Could not able to find suitable topic.
    Tried to implement the process given in the below URL..But no use !!!
    http://andrejusb.blogspot.in/2011/12/adf-tree-how-to-autoselectdeselect.html
    Created two transient attributes at VO level
    checkboxConfirmed - Boolean..It's value will dependent on checkboxConfirmedStatus attribute, which is of type String.
    Finally I am trying to provide technical details what I did so far. It might be lengthy :)
    Following is the JSPX page code
    ===============================
    <f:view>
    <af:document id="d1">
    <af:messages id="m1"/>
    <af:form id="f1">
    <af:tree value="#{bindings.HierLinks1.treeModel}" var="node"
    id="t1"
    binding="#{pageFlowScope.mBean.treeProp}">
    <f:facet name="nodeStamp">
    <af:group id="g1">
    <af:selectBooleanCheckbox
    label="Label 1"
    id="sbc1"
    value="#{node.checkboxConfirmed}"
    autoSubmit="true"
    valueChangeListener="#{pageFlowScope.mBean.checkBoxChange}"
    />
    <af:outputText value="#{node.ChildItemId}" id="ot1"/>
    </af:group>
    </f:facet>
    </af:tree>
    </af:form>
    </af:document>
    </f:view>
    mBean code goes as follows:
    public void checkBoxChange(ValueChangeEvent valueChangeEvent) {
    System.out.println("Start checkBoxChange ");
    System.out.println("OLD VALUE:"+valueChangeEvent.getOldValue());
    System.out.println("NEW VALUE:"+valueChangeEvent.getNewValue());
    DCIteratorBinding dcIb = ADFUtils.findIterator("HierLinks1Iterator");
    HierLinksVORowImpl parent = (HierLinksVORowImpl)dcIb.getCurrentRow();
    RowIterator ri = parent.getLeafHierLinks();
    // parent.setAttribute("checkboxConfirmedStatus", "Y");
    //RowSetIterator ri = parent.getRowSet();
    Boolean check = (Boolean)valueChangeEvent.getNewValue();
    while(ri.hasNext()){
    LeafHierLinksVORowImpl leaf = (LeafHierLinksVORowImpl)ri.next();
    System.out.println("Leaf ChildItemId"+leaf.getAttribute("ChildItemId"));
    if (check == true) {
    parent.setAttribute("checkboxConfirmedStatus", "Y");
    leaf.setAttribute("checkboxConfirmedStatus", "Y");
    else{
    parent.setAttribute("checkboxConfirmedStatus", "Y");
    leaf.setAttribute("checkboxConfirmedStatus", "N");
    System.out.println("Leaf checkboxFlag 222"+leaf.getAttribute("checkboxConfirmed"));
         Tried to iterate the tree in another approach.
    if( (Boolean)(valueChangeEvent.getOldValue()) != null) {
    Boolean check = (Boolean) valueChangeEvent.getNewValue();
    RichTree navTree = this.getTreeProp();
    CollectionModel model = (CollectionModel)navTree.getValue();
    JUCtrlHierBinding treeBinding = (JUCtrlHierBinding)model.getWrappedData();
    JUCtrlHierNodeBinding currentSelectedNode = (JUCtrlHierNodeBinding)navTree.getRowData();
    List<JUCtrlHierNodeBinding> children = currentSelectedNode.getChildren();
    if (children != null) {
    for (JUCtrlHierNodeBinding _node : children) {
    //Each child search returns node check status
    Row nodeRow = _node.getRow();
    if (nodeRow != null) {
    //_node.setAttribute("checkboxConfirmedStatus",true);
    String childId = (String)_node.getAttribute("ChildItemId");
    System.out.println("CHILDID"+childId);
    String[] atts = (String[]) _node.getAttributeNames();
    System.out.println(Arrays.asList(atts));
    System.out.println("CHECK"+check );
    if(check == true){
    _node.setAttribute("checkboxConfirmedStatus","Y");
    else{
    _node.setAttribute("checkboxConfirmedStatus","N");
    System.out.println("Check Status"+_node.getAttribute("checkboxConfirmed") );
    }else{
    System.out.println("NODE ROW NULL");
    } //End of for loop
    else{
    System.out.println("children NULL");
    else{
    System.out.println("OLD VALUE NULL");
    //refreshSelectedRows();
    System.out.println("End checkBoxChange ");
    Iam suspecting, in JSPX page value="#{node.checkboxConfirmed}" is updating the checkbox status.
    Could please help me on this?
    Thanks in advance,
    Samba.

    Finally able to achieve by enabling 'Retain View Link Accessor Rowset'.
    Thanks,
    Samba

  • Strange issue with ADF table in chrome browser

    I have ADF table which should display 23 rows, but only 20 rows are visible in chrome browser, but other browsers like IE, firefox displays the 23 rows correctly. I have used default ADF table with Drag&drop behaviour in this table. All the 23 rows exported correctly to Excel with export to Excel behaviour and inspect page source also shows all the rows in Chrome browser, but display in the adf is only problem in chrome browser. We're having a production issue with this, any ideas are appreciated.
    Thanks,
    Surya

    Hi All,
    Is this issue fixed yet? There are a couple of threads reporting this issue and the original thread has been Archived. It is a real issue, and it remains an issue. The Chrome browser cuts off the last row of a table in the display. IE displays the row correctly. I am working with JDev 12.1.2 and I am building an application using ADF Tables. Without exception, on every page that has one, the last row of the table is cut off from display in a very ugly way and you cannot scroll down to display the full row. I have tried wrapping the table in a Panel Collection - same result, I have tried setting the height of the table - same result. I have tried surrounding the table with a PanelGroupLayout component (layout set to scroll) - same result. I have even tried surrounding the table with a PanelHeaderComponent component, Type set to both default and Stretch - yes, you guessed it, same result! I've even put the table in the middle of a PanelStretchLayout component - but the last row is always cut off.
    This should be easy for you to reproduce, just drop a data control on a ADF page and select a table. When you view it in the Chrome browser and you will see what I'm talking about. I'm using Google Chrome version 31.0.1650.63 m.
    I have experimented with AFStretchWidth and AutoHeightRows (as suggested by previous threads), nothing seems to work.
    Here's another suggestion, if the forum would allow you to insert an image, I could actually show you what I'm talking about. Food for thought perhaps?
    Best regards,
    Nigel
    "Life's too short not to use ADF"

  • Issue with adf projectGantt showing popus

    hi all
    am working with adf projectGantt using page template every thing goes perfectly but when I want to see task properties for example or modify the time axis reliated popus never appear (when i dont use templates every thing gonna be alright :s)
    i'll be very thankful if any one could help
    this is my gantt.jspx with template
    <?xml version='1.0' encoding='windows-1252'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
    xmlns:dvt="http://xmlns.oracle.com/dss/adf/faces">
    <jsp:directive.page contentType="text/html;charset=windows-1252"/>
    <!--h:inputHidden value="#{typeBean.init}"/-->
    <f:view>
    <af:document title="Project Gantt"
    binding="#{templateBindings.documentComponent}" theme="medium"
    id="d">
    <af:form id="form">
    <af:pageTemplate id="gant" viewId="/tagDemoTemplate.jspx">
    <!-- Document Title -->
    <f:attribute name="documentTitle" value="Project Gantt"/>
    <!-- Tag Name -->
    <f:facet name="first1">
    <af:image source="/images/d.png"
    inlineStyle="width:1400px;heigth:150px"/>
    <!--f:subview id="enteteTache">
    <jsp:include page="/entete.jspx"/>
    </f:subview-->
    </f:facet>
    <f:facet name="auxiliaryGlobal">
    <f:subview id="menuTache">
    <jsp:include page="/MenuProjet.jspx"/>
    </f:subview>
    </f:facet>
    <f:facet name="top1">
    <af:navigationPane id="nav1" hint="tabs">
    <af:commandNavigationItem id="tagGuideTab" text="Projet Assigné"
    shortDesc="Description détaillée du projet, diagramme de gantt, tâches, etc."
    selected="true"
    actionListener="#{navigationBean.navigationItemAction}"
    action="assigne"/>
    <af:commandNavigationItem id="componentSkinningTab"
    text="Resources Consommées"
    shortDesc="Utilisation des ressources utilisées"
    selected="false"
    actionListener="#{navigationBean.navigationItemAction}"
    action="consommation"/>
    <af:commandNavigationItem id="ressTab"
    text="Resources Prévisionnelles"
    shortDesc="Utilisation des ressources prévisionnelles"
    selected="false"
    actionListener="#{navigationBean.navigationItemAction}"
    action="prevision"/>
    <af:commandNavigationItem id="fileExplorerTab" text="Aide"
    shortDesc="Aide et description du projet"
    selected="false" action="fileExplorer"/>
    </af:navigationPane>
    </f:facet>
    <f:facet name="center">
    <af:panelGroupLayout layout="scroll" id="pg1">
    <f:facet name="separator">
    <af:separator id="sep"/>
    </f:facet>
    <dvt:projectGantt id="mygantt" startTime="2010-01-01"
    endTime="2011-12-31" var="task"
    value="#{tacheBean.model}" rendered="true"
    dataChangeListener="#{tacheBean.handleDataChanged}"
    actionListener="#{tacheBean.handleAction}"
    showCurrentDate="true" showMenuBar="true"
    labelPlacement="inside"
    binding="#{tacheBean.gantt}"
    taskbarFormatManager="#{tacheBean.taskbarFormatManager}"
    backgroundColor="#F5F5F5"
    nonWorkingDaysColor="#FFE4B5"
    nonWorkingDaysOfWeek="#{tacheBean.nonWorkingDays}"
    taskSelectionListener="#{tacheBean.handleTaskSelected}"
    doubleClickListener="#{tacheBean.handleDoubleClick}">
    <f:facet name="toolbar">
    <af:toolbar id="toolbar">
    <af:group>
    <af:commandToolbarButton partialSubmit="false"
    icon="/images/new_ena.png"
    id="bt_creer"
    actionListener="#{tacheBean.nouveau}"
    shortDesc="Créer une Tâche"
    disabledIcon="/images/new_ena_002.png">
    <af:showPopupBehavior popupId="popupDialog"/>
    </af:commandToolbarButton>
    <af:panelGroupLayout layout="default" id="pgl1"
    theme="dark">
    <af:popup id="popupDialog">
    <h:inputHidden value="#{tacheBean.init}"/>
    <h:inputHidden value="#{typeBean.init}"/>
    <af:panelWindow modal="true" title="Ajout Tâche"
    id="panelWindow1"
    inlineStyle="height:300px; width:400px;">
    <af:panelGroupLayout id="pgl2">
    <center>
    <af:panelBox text="Ajout" id="pb1"
    titleHalign="left"
    inlineStyle="height:300px; width:400px;"
    background="medium"
    showDisclosure="false"
    showHeader="always"
    icon="/images/new_ena.png">
    <table id="t1" width="525" border="0"
    cellpadding="1" height="233">
    <tr>
    <td align="left">
    <af:outputLabel value="Nom :" id="ol8"
    visible="true"
    showRequired="true"/>
    </td>
    <td align="left" width="80">
    <af:inputText id="it1" rows="1"
    value="#{tacheBean.task.taskName}"
    requiredMessageDetail="Champ Obligatoire"
    shortDesc="Le Nom de la tâche"
    autoSubmit="true"
    autoTab="true"/>
    </td>
    </tr>
    <tr>
    <td align="left" width="80">
    <af:outputLabel value="Label :" id="ol6"
    visible="true"
    showRequired="true"/>
    </td>
    <td align="left" width="80">
    <af:inputText id="it2"
    value="#{tacheBean.task.label}"/>
    </td>
    </tr>
    <tr>
    <td align="left" width="80">
    <af:outputLabel value="Id Parent :"
    id="ol5" visible="true"
    showRequired="true"/>
    </td>
    <td align="left" width="80">
    <af:selectOneChoice id="soc1"
    inlineStyle="width:80px"
    valueChangeListener="#{tacheBean.changeAttributes}">
    <f:selectItems id="si1"
    value="#{tacheBean.selectItems}"/>
    </af:selectOneChoice>
    </td>
    </tr>
    <tr>
    <td align="left" width="80">
    <af:outputLabel value="Rien :" id="rien"
    visible="true"
    showRequired="true"/>
    </td>
    <td align="left" width="80">
    <af:inputText id="rien2"
    partialTriggers="soc2 si2"/>
    </td>
    </tr>
    <tr>
    <td align="left" width="80">
    <af:outputLabel value="Type :" id="ol4"
    visible="true"
    showRequired="true"/>
    </td>
    <td align="left" width="80">
    <af:selectOneChoice id="soc2"
    valueChangeListener="#{typeBean.changeAttributes}"
    autoSubmit="true"
    rendered="true">
    <f:selectItems id="si2"
    value="#{typeBean.selectItems}"/>
    </af:selectOneChoice>
    </td>
    </tr>
    <tr>
    <td align="left" width="80">
    <af:outputLabel value="Date Début :"
    id="ol3" visible="true"
    showRequired="true"/>
    </td>
    <td align="left" width="80">
    <af:inputDate id="id1"/>
    </td>
    </tr>
    <tr>
    <td align="left" width="80">
    <af:outputLabel value="Date Fin :"
    id="ol2" visible="true"
    showRequired="true"/>
    </td>
    <td align="left" width="80">
    <af:inputDate id="id2"/>
    </td>
    </tr>
    <tr>
    <td align="left" width="80">
    <af:outputLabel value="Durée :" id="ol1"
    visible="true"
    showRequired="true"/>
    </td>
    <td align="left" width="80">
    <af:inputText id="it8" rows="1"
    requiredMessageDetail="Champ Obligatoire"
    shortDesc="Le Nom de la tâche"
    autoSubmit="true"
    autoTab="true"/>
    </td>
    </tr>
    <tr>
    <td> </td>
    <td align="center" width="80">
    <h:panelGrid columns="2">
    <af:commandButton inlineStyle="width:80px"
    id="insertion"
    text="Ajouter"
    actionListener="#{tacheBean.ajoutTache}"
    immediate="true"
    visible="true"></af:commandButton>
    <af:commandButton inlineStyle="width:80px"
    id="annuler"
    text="Annuler"
    immediate="true"
    visible="true"></af:commandButton>
    </h:panelGrid>
    </td>
    </tr>
    </table>
    </af:panelBox>
    </center>
    </af:panelGroupLayout>
    </af:panelWindow>
    </af:popup>
    </af:panelGroupLayout>
    <af:commandToolbarButton partialSubmit="false"
    shortDesc="Mettre à jour la Tâche"
    disabledIcon="/images/edit_dis.png"
    icon="/images/edit16.png"></af:commandToolbarButton>
    <af:commandToolbarButton partialSubmit="false"
    shortDesc="Supprimer une Tâche"
    icon="/images/delete16.png"
    disabledIcon="/images/delete_dis.png"/>
    <af:separator id="sep1"/>
    <af:commandToolbarButton partialSubmit="false"
    shortDesc="Impression"
    icon="/images/print_ena.png"
    disabledIcon="/images/print_ena.png"/>
    <af:separator id="sep2"/>
    <af:commandToolbarButton partialSubmit="false"
    shortDesc="Couper"
    icon="/images/cut_ena.png"
    disabledIcon="/images/cut_dis.png"/>
    <af:commandToolbarButton partialSubmit="false"
    shortDesc="Copier"
    icon="/images/copy_ena.png"
    disabledIcon="/images/copy_dis.png"/>
    <af:commandToolbarButton partialSubmit="false"
    shortDesc="Coller"
    icon="/images/paste_dis.png"
    disabledIcon="/images/paste_dis.png"/>
    </af:group>
    </af:toolbar>
    </f:facet>
    <f:facet name="menuBar">
    <af:menuBar>
    <af:menu text="Custom Menu">
    <af:commandMenuItem partialSubmit="false" text="Item 1"/>
    <af:commandMenuItem partialSubmit="false" text="Item 2"/>
    <af:commandMenuItem partialSubmit="false" text="Item 3"/>
    </af:menu>
    </af:menuBar>
    </f:facet>
    <f:facet name="major">
    <dvt:timeAxis scale="months" id="monthx"/>
    </f:facet>
    <f:facet name="minor">
    <dvt:timeAxis scale="weeks" id="weeks"/>
    </f:facet>
    <f:facet name="nodeStamp">
    <af:column headerText="Id Tâche" id="c2">
    <af:outputText value="#{task.taskId}" id="taskId"/>
    </af:column>
    </f:facet>
    <af:column headerText="Nom Tâche" id="nom">
    <af:outputText value="#{task.taskName}"/>
    </af:column>
    <af:column headerText="Date Debut">
    <af:outputText value="#{task.startTime}" id="debut"/>
    </af:column>
    <af:column headerText="Date Fin">
    <af:outputText value="#{task.endTime}" id="end"/>
    </af:column>
    <dvt:ganttLegend keys="#{tacheBean.legendKeys}"
    labels="#{tacheBean.legendLabels}"/>
    </dvt:projectGantt>
    </af:panelGroupLayout>
    </f:facet>
    </af:pageTemplate>
    </af:form>
    </af:document>
    </f:view>
    </jsp:root>

    hi,
    previously i asked that question about how can i get date with time fallowed by am/pm in table fields for that your post is useful.
    now have some of doubt about same thing, as we achieved like in table (date with time by am/pm) i need to get in query panel because in search criteria i not bale to search time filtering I'm able to filter with date only
    its not allowing to change to search in design time( we know adf query wont allow design time modification as my knowledge) please suggest how can i change or any other way to create search instead of creating declarative
    search modification.
    and one more question i have how can i count number of rows displayed in table which displayed in search table if we want display no.of row displayed in table.
    Thanks
    Shankar

  • ADF Faces af:tree expand/collapse node

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

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

  • Af:tree expand/collapse issue

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

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

  • Issue with af:tree

    The af:tree element always tries to display a node as if it has children, even if its child List is of size 0. The result is that all nodes appear as expandable folders and when you expand on a node that has no children you get a vertical line leading to nothing. Clearly this isn’t desirable. This behavior is seen even when using your packaged sample code as shown below:
    public class Person
    public Person(String name)
    _name = name;
    public String getName()
    return _name;
    public List getKids()
    return _kids;
    private final String _name;
    private final List _kids = new ArrayList();
    You can construct a tree by:
    Person john = new Person("John Smith");
    Person kim = new Person("Kim Smith");
    Person tom = new Person("Tom Smith");
    Person ira = new Person("Ira Wickrememsinghe");
    Person mallika = new Person("Mallika Wickremesinghe");
    john.getKids().add(kim);
    john.getKids().add(tom);
    ira.getKids().add(mallika);
    List people = new ArrayList();
    people.add(john);
    people.add(ira);
    Now you can construct a TreeModel by:
    TreeModel model = new ChildPropertyTreeModel(people, "kids");

    Hi,
    Even I have the same issue. How can I get it right in ADF Faces tree component.
    Thanks,
    Ankit

  • Problem with JTree while expanding/collapsing a node

    Hi,
    I'm using a JTree for displaying the file system.
    Here, i want that whenever a node get expanded,
    it should show the latest files/directories under that node.
    Now, what i'm doing is, getting all the files/dir's using files.listFiles(),
    under that node and then creating a new node and adding it to parent (all in expand() method).
    But, now the problem is, while doing this whenever the parent node get expanded its adding all the latest files/dirs into the previous instance
    resulting the same file/dir is displaying twice,thrice.. and so on, as that node is expanded and collapsed.
    i tried removeAllChildren() in collapse() method but then that node is notexpanding at all .
    Can anybody help me please...
    i got stuck b'coz of this only.
    Thanks...

    Now what i'm doing is every time expand() get called,
    i'm comparing all the children of that node in the
    current instance with all the children present in the
    file system (because there is a possibility that some
    file/dir may be added or deleted)
    is this the right wy or not?it certainly is not wrong, but as usual, there is more than 1 way to implement this...
    b'coz right now i'm getting all the files/dirs that
    are newly added but facing some problem if somebody
    deletes a file/dir.
    i'm still trying to get the solutionthen you should not just compare all the children of the node with the files/dirs but also the other way round. compare the files/dirs with the children to determine if the file/dir still exists and if not remove the node.
    or you could check if the file which a node represents exists and if not remove the node.
    thomas

  • Issue with ADF Application Report Generation

    1) We are developing the web-base ERP application we are using technology as follows
    a) Operating System Red Hat Enterprise Linux4.
    b) Application Server Oracle Application Server 10.1.3
    c) Oracle ADF is the frame work
    d) Jasper reports (iReport 3.0.0) as report generation tool.
    While generating larger reports using iReport3.0.0 Tool i,e., contains more than 20,000 records the query while executed in Sqlplus takes less than a minute, but while the report is run it takes more time leading to time out and the pdf file is not generated. The error shown on the screen is “the web server unable to process the given request”
    The session time-out is 5 minutes. Please help us to tackle this issue since most of the reports are summarized reports and contain large transactional data and is critical reports.
    You may also suggest other web based report tools which help us generate large reports in PDF and/or text formats.
    By
    PRABEETHSOY P
    Edited by: prabeethsoy on Jun 26, 2009 1:13 AM

    PRABEETHSOY,
    some things come to mind.
    While generating larger reports using iReport3.0.0 Tool i,e., contains more than 20,000 records the query while executed in Sqlplus takes less than a minute, but while the report is run it takes more time leading to time out and the pdf file is not generated.Running a query in sqlplus is totally different from running it in an application. Sqlplus only pumps the results to the screen, whereas the application builds some layers around the data, so that you can navigate through the result. This will cost some time.
    You can try to optimize your strategy working with the data, i.e. running the query in forward only mode and/or omit the usaeg of EO where you know you don't need to change data.
    But in the end you may find that you have to use a different approach to generate the reports: do it asynchrony, meaning that you start the generation on the server, let it finish there (putting the result in a file) and send the finished report to the user in a different request. Do do this you can use a poll component, or you ask the user to come back later (giving him a report number to ask for). Other solution are possible.
    Timo

Maybe you are looking for

  • FYI - installing a root certificate on E71

    FYI We run our own certificate authority for internal websites,  and have a page to download the root certificate in PEM format with the appropriate MIME type (application/x-x509-ca-cert). Clicking that in Firefox magically installs the certificate,

  • New update to 3.15.5 seems to break bootloader, getting black screen

    I did 'pacman -Syu' last night and today all I get is a black screen after post.  It's the same behavior that I get with the live arch image when trying to use UEFI boot.  I am posting this from a fedora live image right now.  I originally had to ins

  • Tuxedo Application port range

    Hi All, Is there any way to restrict tuxedo application to use a specified range of ports while it is up & running (except JSL, WSL, GWTDOMAIN) ? Issue - The tux application comes up with random ports getting assigned to the application servers conne

  • Rollback on transaction failes

    Hi, I have got a problem when I try to rollback a transaction using a JDBC driver, but I don't understand why. Maybe someone can help me. My problem is as follows: on a connection with AutoCommit set to true, I define some INSERT actions on a certain

  • How do I find a 32 bit kernel in order to install an application??

    I am trying to install a firmware update for my camera and it will not install unless I use a 32 bit kernel. I am stumped on how to do it.