I have made a tree and this is working fine but i am facing a problem when i
want to click on the tree node so it doesnot work(expand).Can some one help
me in this matter? Help me as soon as possible. Thanks in advance.

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeModel;
import javax.swing.tree.TreeNode;
import org.apache.wicket.ajax.AjaxRequestTarget; 

import no.vismaunique.ebilag.data.Bilag;
import no.vismaunique.ebilag.data.BilagNivaaKode;
import no.vismaunique.ebilag.data.Oppgave;
import no.vismaunique.ebilag.db.EbilaghdFunctions;
import no.webcenter.webmal.okonomi.e30.SelRegAar;

import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.extensions.markup.html.tree.*;
import
org.apache.wicket.extensions.markup.html.tree.DefaultAbstractTree.LinkType;
import org.apache.wicket.Page;

import org.apache.wicket.markup.html.link.Link;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.html.tree.AbstractTree;

public class VenstrePanel extends Panel implements Serializable {

        private static final long serialVersionUID = 1L;

        public VenstrePanel(String id) {
                super(id);

                // create a list with sublists
                String user = ((EBilagSession) getSession()).getUser();
                SelRegAar selRegAar = new SelRegAar(1, 0, 2008);
                List l1 = new ArrayList();

                for (BilagNivaaKode bilagkode : BilagNivaaKode.values()) {
                        ArrayList temp = (ArrayList) 
EbilaghdFunctions.hentEbilag(selRegAar,
user, bilagkode); 
                        
                        if(temp.size() > 0)
                                l1.add(temp);

                };

                TreeModel treeModel = convertToTreeModel(l1);

                final Tree tree = new Tree("tre", treeModel) {
                        
                        protected String renderNode(TreeNode node) {
                                DefaultMutableTreeNode treeNode = 
(DefaultMutableTreeNode) node;
                                Object userObject = treeNode.getUserObject();
                                String text = "";
                                
                                if (userObject instanceof List) {

                                                if(((List) userObject).size() > 
0)
                                                {
                                                        Bilag bilag = 
((Bilag)((List)userObject).get(0));
                                                        text = 
bilag.getNivaaKode().getDescription(null);
                                                }
                                } 

                                else if (userObject instanceof Oppgave) {
                                        Oppgave oppgave = (Oppgave) userObject;
                                        text = oppgave.getNavn();
                                }
                                return text;

                        }
                };
                tree.setRootLess(true);
                tree.setLinkType(LinkType.AJAX);

                add(tree);

                add(new AjaxLink("expandAll") {
                        @Override
                        public void onClick(AjaxRequestTarget target) {
                                // TODO Auto-generated method stub
                                tree.getTreeState().expandAll();
                                target.addComponent(tree);

                        }
                });

                add(new AjaxLink("collapseAll") {

                        @Override
                        public void onClick(AjaxRequestTarget target) {
                                tree.getTreeState().collapseAll();
                                target.addComponent(tree);
                        }
                });
                

        }

        private void add(DefaultMutableTreeNode parent, List sub) {
                for (Iterator i = sub.iterator(); i.hasNext();) {
                        Object o = i.next();
                        if (o instanceof List) {
                                DefaultMutableTreeNode child = new 
DefaultMutableTreeNode(o);
                                parent.add(child);
                                add(child, (List) o);
                        } else {
                                DefaultMutableTreeNode child = new 
DefaultMutableTreeNode(o);
                                parent.add(child);
                        }
                }
        }

        private TreeModel convertToTreeModel(List list) {
                TreeModel model = null;
                DefaultMutableTreeNode rootNode = new 
DefaultMutableTreeNode("Tre");
                add(rootNode, list);
                model = new DefaultTreeModel(rootNode);
                return model;
        }

}

-- 
View this message in context: 
http://www.nabble.com/Wicket-question-tp21956601p21956601.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to