Ext4 简单的treepanel

本文介绍如何使用Ext4的TreePanel创建树形控件,并演示了基本的配置与交互功能实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在学习Ext4,记录一些有关Ext4实现控件的方法:

Ext4的treePanel和之前3x的版本有一些差别。使用的版本是ext-4.0.7-gpl

html部分:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<link type="text/css" rel="stylesheet" href="css/index.css" />
<link type="text/css" rel="stylesheet" href="resources/css/ext-all.css" />
<script type="text/javascript" language="javascript" src="ext-all.js"></script>
<script type="text/javascript" language="javascript" src="locale/ext-lang-zh_CN.js"></script>
<script type="text/javascript" language="javascript" src="js/index.js"></script>
</head>

<body>
	<div id="subMenu"></div>
</body>
</html>


js部分:

Ext.onReady(function(){
	
	Ext.define('Task', {
		extend: 'Ext.data.Model',
		fields: [
			{name: 'id',  type: 'string'},
			{name: 'text',  type: 'string'}
		],
	});
	
	var store = Ext.create('Ext.data.TreeStore',{
		model: 'Task',
		proxy: {
            type: 'ajax',
            url: 'treegrid.json'	//必须要搭建个服务器才可以访问json,不然会报错。拒绝访问
	    },
		reader: {
            type: 'json'
        },
		root: {
            text: 'root',
            id: '0',
        }
	});
	
	var menuTree = Ext.create('Ext.tree.Panel',{
		title: '用户管理',
		autoScroll:true,  
		width: "100%",
		height: "100%",
        store: store,
        rootVisible: true,
        renderTo: 'subMenu',
        listeners : {
			'itemclick' : function(view,record){
				if(record.data.leaf){
					alert(record.data.id);
				}else{
					if(record.data.expanded){
						view.collapse(record);
					}else{
						view.expand(record);
					}
				}
			}
		}
	});

	menuTree.store.load();
	
});


json数据源:

{
  id:'1',
  text:'treenode 1',
  expanded:true,
  children:[{
    id:'11',
    text:'treenode 11',
    leaf:true
  },{
    id:'12',
    text:'treenode 12',
    expanded:true,
    children:[{
      id:'121',
      text:'treenode 121',
      leaf:true
    },{
      id:'122',
      text:'treenode 122',
      leaf:true
    }]
  },{
    id:'13',
    text:'treenode 13',
    leaf:true
  }]
}


一个简单的treepanel就出现了,至于一些拓展功能,如复选树,修改,编辑,拖动等功能,可以参照API来实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值