SmartGwt中的树形控件的扩展

树形控件是web前端展现的一个很重要的部分,所以在SmartGwt中也封装了该控件。构建一个Tree一般要先构建该Tree的TreeNode。SmartGwt中的TreeNode类只有两个构造函数一个是TreeNode()和TreeNode(JavaScriptObject jso)。故我们在建自己的树形的时候一般都是要使用自己的TreeNode,所以就要对TreeNode 进行继承另外地扩展一些我们用得到的展示的信息。如Id,name parent等

Tree一般是要放在TreeGrid上进行展示,通过Tree的setNamePorperty()可以设置Tree上展示的name,通过Tree的setIdField()可以设置tree的Id区域,通过Tree的setParentIdField()可以设置tree的父级区域。通过设置setModelTye()可以设置树形的两种展现方式,CHILDREN和PARENT两种展现方式。通过设置这些参数就可以建立起一个简单的树形。如下为一个简单的实例

public void onModuleLoad() {

TreeGrid treeGrid = new TreeGrid();

treeGrid.setWidth(300);

treeGrid.setHeight(400);

Tree testTree = new Tree();

testTree.setModelType(TreeModelType.PARENT);

testTree.setIdField("id");

testTree.setParentIdField("parent");

testTree.setNameProperty("name");

testTree.setShowRoot(false);

TestTreeNode[] nodeArray = new TestTreeNode[]{new TestTreeNode("1", "所有分组", ""),new TestTreeNode("2", "接口", "1"),

new TestTreeNode("5", "分组1", "2"),new TestTreeNode("3", "分组2", "1"),new TestTreeNode("4", "分组3", "3")}; 

testTree.setData(nodeArray);

treeGrid.setData(testTree);

treeGrid.draw();

}

public class TestTreeNode extends TreeNode {

TestTreeNode(String id,String name,String parent){

setAttribute("id", id);

setAttribute("name", name);

setAttribute("parent", parent);

}

}

 

你可能感兴趣的:(Web)