Tree data can be specified as a tree of nodes where each node lists its children (Smart GWT)
/*
* SmartGWT (GWT for SmartClient)
* Copyright 2008 and beyond, Isomorphic Software, Inc.
*
* SmartGWT is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License version 3
* as published by the Free Software Foundation. SmartGWT is also
* available under typical commercial license terms - see
* http://smartclient.com/license
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*/
package com.smartgwt.sample.showcase.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootPanel;
import com.smartgwt.client.types.TreeModelType;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.tree.Tree;
import com.smartgwt.client.widgets.tree.TreeGrid;
import com.smartgwt.client.widgets.tree.TreeGridField;
import com.smartgwt.client.widgets.tree.TreeNode;
public class Showcase implements EntryPoint {
public void onModuleLoad() {
RootPanel.get().add(getViewPanel());
}
public Canvas getViewPanel() {
Tree employeeTree = new Tree();
employeeTree.setModelType(TreeModelType.CHILDREN);
employeeTree.setNameProperty("Name");
employeeTree.setChildrenProperty("directReports");
employeeTree.setRoot(employeeRoot);
TreeGrid employeeTreeGrid = new TreeGrid();
employeeTreeGrid.setWidth(500);
employeeTreeGrid.setHeight(400);
employeeTreeGrid.setNodeIcon("icons/16/person.png");
employeeTreeGrid.setFolderIcon("icons/16/person.png");
employeeTreeGrid.setShowOpenIcons(false);
employeeTreeGrid.setShowDropIcons(false);
employeeTreeGrid.setClosedIconSuffix("");
employeeTreeGrid.setFields(new TreeGridField("Name"));
employeeTreeGrid.setData(employeeTree);
employeeTreeGrid.getData().openAll();
return employeeTreeGrid;
}
public static class EmployeeTreeNode extends TreeNode {
public EmployeeTreeNode(String employeeId, String name) {
this(employeeId, name, new EmployeeTreeNode[] {});
}
public EmployeeTreeNode(String employeeId, String name, EmployeeTreeNode... children) {
setAttribute("EmployeeId", employeeId);
setAttribute("Name", name);
setAttribute("directReports", children);
}
}
public static final TreeNode employeeRoot = new EmployeeTreeNode("1", "Root",
new EmployeeTreeNode("4", "Charles Madigen", new EmployeeTreeNode("188", "Rogine Leger"),
new EmployeeTreeNode("189", "Gene Porter", new EmployeeTreeNode("265", "Olivier Doucet"),
new EmployeeTreeNode("264", "Cheryl Pearson"))));
}
SmartGWT.zip( 9,880 k)Related examples in the same category