Ext Tree控件的使用

树是一个我们日常用的组件,Ext给我们提供了一个非常好用的树控件,下面让我们看看用Ext创建一颗树是多么容易的。

<script>
Ext.onReady(function(){

var tree = new Ext.tree.TreePanel({
el:'tree'
});

var root = new Ext.tree.TreeNode({text:'root'});
var node1 = new Ext.tree.TreeNode({text:'catalog'});
var node2 = new Ext.tree.TreeNode({text:'catalog1_leaf'});
var node3 = new Ext.tree.TreeNode({text:'root_leaf'});
node1.appendChild(node2);
root.appendChild(node1);
root.appendChild(node3);

tree.setRootNode(root);
tree.render();


root.expand();
//可以有两个参数

});
</script>
</head>
<body>
<div id="tree" style="height:800px;"></div>
</body>
</html>

通过文件生成Tree

Ext.onReady(function(){

var tree = new Ext.tree.TreePanel({
el: 'tree',
loader: new Ext.tree.TreeLoader({dataUrl: 'data.txt'})
});

var root = new Ext.tree.AsyncTreeNode({text:'root'});

tree.setRootNode(root);
tree.render();

root.expand();
});

data.txt
[
{text:'01',children:[
{text:'01-01',leaf:true},
{text:'01-02',children:[
{text:'01-02-01',leaf:true},
{text:'01-02-02',leaf:true}
]},
{text:'01-03',leaf:true}
]},
{text:'02',leaf:true}
]


ajax读取

Ext.onReady(function(){

var tree = new Ext.tree.TreePanel({
el: 'tree',
loader: new Ext.tree.TreeLoader({dataUrl: 'data.jsp'})
});

var root = new Ext.tree.AsyncTreeNode({
id: '0',
text:'root'
});

tree.setRootNode(root);
tree.render();

root.expand(false, false);
});


<%@ page contentType="text/html;charset=utf-8"%>
<%
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");

// 对应的是正在展开的节点id
String node = request.getParameter("node");
System.out.println(node);

String content = "";
if ("0".equals(node)) {
content += "[{id:1,text:'节点阿一'},{id:2,text:'节点阿二'}]";
} else if ("1".equals(node)) {
content += "[{id:11,text:'节点阿一一',leaf:false},{id:12,text:'节点阿一二',leaf:true}]";
} else if ("2".equals(node)) {
content += "[{id:21,text:'节点阿二一',leaf:true},{id:22,text:'节点阿二二',leaf:true}]";
} else if ("11".equals(node)) {
content += "[{id:111,text:'节点阿一一一',leaf:true},{id:112,text:'节点阿一一二',leaf:true}]";
}

response.getWriter().print(content);
%>


注意:ajax默认使用utf-8编码格式,所以我们的jsp也要使用utf-8编码发送数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值