16extjs笔记

1.讲解的大纲



2.require就是在程序跑起来之前,将所有的东西首先加载进来。


3.root就是他的数据


4.隐藏root节点的做法

 rootVisible


5.实现多选框  

checked:false



6.注意两者的相同的地方:

/*
 * ClassName 用户数据集
 */
 Ext.define("AM.store.CategoryStore",{
 	extend:'Ext.data.TreeStore',
//	defaultRootId:"root",
//	//autoSync:true,//与服务器同步
//	proxy:{
//		api:{
//		},
//		type:"ajax",
//		url:"booktypeAction_query.action",
//		reader:{
//			type:"json"
//		},
//		writer:{
//			type:"json"
//		}
//	},
	autoLoad:true	,
 	root:{
 		expanded:true,
 		children:[
 			{text:"计算机", expanded:false, children:[
 				{text:"考研相关", leaf:true},
 				{text:"数据库相关", leaf:true},
 				{text:"其他", leaf:true}
 			]},
 			{text:"软件工程", expanded:false, children:[
 				{text:"Web前台操作", leaf:true},
 				{text:"数据库", leaf:true},
 				{text:"其他", leaf:true}
 			]},
 			{text:"网络工程", expanded:false,children:[
 				{text:"网络认证相关", leaf:true},
 				{text:"考研相关", leaf:true},
 				{text:"其他", leaf:true}
 			]},
 			{text:"文学作品", leaf:true}
 		]
 	}
 });
上面是说明远程数据只是一种和本地格式一样的远程数据



7.tree的项添加的方法有两种:

一种是直接在tree上面点击右键进行添加,在一种就是选中之后,然后再另点击一个按钮。进行添加就好了。



8.dock 是指明侧栏的生成的位置  dockItem的属性。


9.点击按钮创建相应的界面

注意widget方法


10.关于tree的同步加载和异步加载的比较

利用同步加载可以将数据进行二次过滤。


11.后台的代码



12.下面是应该有的类型



简化的后台数据类型


得到字符串的样式


13.利用pojo和数据的传递进行整合


利用的是上面的pojo。


json格式



14.注意在treeview中要是直接使用本地的数据用的是root ,在store中也可以这样写


要是有数据中心就直接配置数据中心



14.代码展示:

view

Ext.define("AM.view.deptView",{
	extend:'Ext.tree.Panel',
	alias: 'widget.deptTree',
	title : '部门树形',
	width : 250,
	height: 300,
	padding : '5 3 3 10',
	rootVisible : false,//控制显隐的属性
	dockedItems:[{
		xtype:'toolbar',
		dock:'left',
		//ui:'footer',
		items:[
			{xtype:'button',text:'add',id:'add'},
			{xtype:'button',text:'copy',id:'copy'},
			{xtype:'button',text:'delete',id:'delete'}
		]
	},{
		xtype:'toolbar',
		items:[{
			xtype:'button',
			id:'allopen',
			text:'展开全部'
		},{
			xtype:'button',
			id:'allclose',
			text:'收起全部'
		}]
	}],
	store:'deptStore'
//	root:{
//		text:'root',
//		id : '0',
//		leaf:false,
//		children:[{
//			text:'技术部门',
//			checked:false,
//			id : '01',
//			leaf:false,
//			children:[{
//				checked:false,
//				text:'研发部',
//				id : '0101',
//				leaf:true		
//			},{
//				checked:false,
//				text:'实施部',
//				id : '0102',
//				leaf:true		
//			}]
//		},{
//			text:'后勤部门',
//			id : '02',
//			checked:false,
//			leaf:false,
//			children:[{
//				text:'人事部',
//				id : '0201',
//				checked:false,
//				leaf:true		
//			},{
//				text:'行政部',
//				id : '0202',
//				checked:false,
//				leaf:true		
//			}]
//		}]
//	}
});


store

Ext.define("AM.store.deptStore",{
	extend:'Ext.data.TreeStore',
	defaultRoodId:'root',
	proxy:{
		type:'ajax',
		url:'/extjs/extjs!getDept.action',
		reader:'json',
		autoLoad:true
	}
});

controller

Ext.define('AM.controller.deptController', {
    extend: 'Ext.app.Controller',
	init:function(){
		this.control({
			"deptTree button[id=allopen]":{
				click:function(b,e){
					var tree = b.ownerCt.ownerCt;
					tree.expandAll();
				}			
			},			
			"deptTree button[id=allclose]":{
				click:function(b,e){
					var tree = b.ownerCt.ownerCt;
					tree.collapseAll();
				}			
			},
			"deptTree button[id=add]":{
				click:function(b,e){
					var tree = b.ownerCt.ownerCt;
					var nodes = tree.getChecked();
					if(nodes.length == 1){
						var node = nodes[0];
						node.appendChild({
							checked:true,
							text:'技术架构组',
							id : '0103',
							leaf:true		
						});
					}else{
						alert("请您选择一个节点");
					}
				}
			},
			"deptTree":{
				itemclick:function(tree,record,item,index,e,options){
					alert(record.get('id'));
				}
			}
		});
	},
	views:[
		'deptView'
	],
	stores :[
		'deptStore'
	],
	models :[
	] 
});





suspend



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值