`
refurbish
  • 浏览: 27853 次
  • 性别: Icon_minigender_1
  • 来自: 福州
文章分类
社区版块
存档分类
最新评论

LearningExtJS_new 之 tree 的应用学习(六)

阅读更多
Ext.onReady(function(){
//1.创建异步树
	//1>定义加载器,设置参数dataUrl
	//2>定义根节点,设置文本及信息
	//3>定义面板,在renderTo时把树加载到页面中	
//2.支持xml数据的加载	使用httpProxy,加载时解析xml
//	var xmltree = new Ext.tree.TreePanel({
//						el : 'treeContainer'
//					});
//			var proxy = new Ext.data.HttpProxy({
//						url : 'http://localhost:81/ext/treexml.php'
//					});
//			proxy.load(null, {
//						read : function(xmlDocument) {
//							parseXmlAndCreateNodes(xmlDocument);
//						}
//					}, function() {
//						xmltree.render();
//					});
//3.树的拖放(Drog && Drop)
	//1>增加enableDD:true则可以对树节点进行拖放
	//2>使用beforemovenode方法,对操作后,后台方法进行处理
//4.树的排序(Sorting)
	//1>使用new Ext.tree.TreeSorter方法排序树
	//2>树在排序时默认使用text属性,可以重写sortType方法,修改要排序的字段
//5.编缉树
	//1>使用TreeEditor方法编缉树
	//2>用beforecomplete进行后台数据处理	
//6.选择模式
	//1>treePanel.selModel 事件 selectionchange 事件对选中节点进行处理
	//2>设置tree的selModel:new Ext.tree.MultiSelectionModel(),可以进行选择多行
//7.右键菜单
	//1>定义菜单,存放菜单功能 memu
	//2>定义树的contextmenu事件,事件主要菜单显示menu.show
	//3>处理菜单事件各功能	(如删除只能处理,非多选择)
//8.过虑
	//1>定义过虑器 treeFilter
	//2>定义过虑方法treeFilter.filter(value,attr,startNode),三个参数,过虑的值,过虑属性,开始节点
//9.其它特征
//1>树特征
//	@lines 线是否显示
//	@hlcolor 拖放时浙变色
//2>节点特征
//	@checked: true,是否选择
//	@href:"",连接地址
//	@draggable: false,是否可拖动
//	@qtip:"test",提示 涉及tip类
//10.操作数据
//@expandAll 展开树
//@collapseAll折叠树
//@expandPath 根据路径展开 xpatch 写法 /rootID/id
//@getNodeById 根据id取节点
//11.其它方法(节点方法)
//@findChild 查找当前节点下子元素属性值
//@编沥技巧 子元素下每个节点的price属性值+1
//	root.eachChild(function(currentNode) {
//		currentNode.attributes.price += 30;
//	});
//12树的事件处理
//1>checkchange 在处理选择框时,ie在选中父节点时,可以默认选择或触发子节点动作
//2>beforeappend 在增加节点时,可以返回true或false,选择是否增加节点
//13.状态管理:处理是否记住前一个节点.
//Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
//tree.on('expandnode', function(node) {
//			Ext.state.Manager.set("treestate", node.getPath());
//		});
//var treeState = Ext.state.Manager.get("treestate");
//if (treeState)
//	tree.expandPath(treeState);

	//定义加载器
	var treeLoader = new Ext.tree.TreeLoader({
						dataUrl:"./asynTreeData.js"
					});
	//定义根节点
	var treeNode = new Ext.tree.AsyncTreeNode({text:"根目录",id:"0"})
	//定义树面板
	var treePanel = new Ext.tree.TreePanel({
						loader:treeLoader,
						root:treeNode,
						renderTo:"treeContainer",
						enableDD:true,
//						selModel:new Ext.tree.MultiSelectionModel()
						lines:false,
						hlcolor:"ff00ff",
						trackMouseOver:true
					});
	//拖放后事件处理
	treePanel.on("beforemovenode",function(tree,node,oldParent,newParent,index){
										//后台操作
//										Ext.Ajax.request({
//											url : 'http://localhost/node-move.php',
//											params : {
//												nodeid : node.id,
//												newparentid : newParent.id,
//												oldparentid : oldParent.id,
//												dropindex : index
//											}
//										});
										//debug info
//										console.debug("node Text:" + node.text + ";oldParnet text:" + oldParent.text 
//														+ ";newParent text:" + newParent.text + ";index:" + index);
								});
	//排序
	new Ext.tree.TreeSorter(treePanel,{
											forderSort:true,
											dir:"asc",
											sortType:function(node){
												return node.attributes.id;
											}
										});
//	//编缉
//	var editTree = new Ext.tree.TreeEditor(treePanel);
//	//处理编缉完成后
//	editTree.on("beforecomplete",function(editor,oldValue,orginalValue){
//									console.debug("orginalValue Text:" + oldValue.text + ";orginalValue text:" + orginalValue.text)
//								});
								
	//选择模式
	treePanel.selModel.on("selectionchange",function(selModel,node){
											//console.debug("node.id = " + node.length);
		 									var curNode = node.findChild('text', "Youngster");
//		 									console.debug(curNode);
										});
	
	//右键菜单					
	var deleteHandler = function(){
							treePanel.getSelectionModel().getSelectedNode().remove();//不能定义选择模式为多选择
						};
	var sortHandler = function(){
						treePanel.getSelectionModel().getSelectedNode().sort(function(leftNode,rightNode){
																				return leftNode.text.toUpperCase() > rightNode.text
																							.toUpperCase() ? 1 : -1;
																			});	
					};
					
	//过虑
	var filter = new Ext.tree.TreeFilter(treePanel);
	var filterHandler = function(){
		var node = treePanel.getSelectionModel().getSelectedNode();
		filter.filter("Has Children","text",node);//过虑掉下面的子节点
		console.debug(node.text);
	};
	var contextMenu = new Ext.menu.Menu({
						items:[
								{
									text:"删除",handler:deleteHandler
								},{
									text:"排序",handler:sortHandler
								},{
									text:"过虑",handler:filterHandler
								}
							]
					});
					
	var contextMenuHandler = function(node){
							node.select();
							contextMenu.show(node.ui.getAnchor());
						};
	treePanel.on("contextmenu",contextMenuHandler);
	
	//树的方法
//	treePanel.expandPath("/0/4/5");
	//树事件
	treePanel.on("checkchange",function(node,checked){
									node.eachChild(function(curNode){
										curNode.ui.toggleCheck();
									});
								});
	treePanel.on("beforeappend",function(tree,parentNode,node){
									return node.text != "Youngster";
								});
});
分享到:
评论

相关推荐

    haarcascade_eye_tree_eyeglasses.xml

    haarcascade_eye_tree_eyeglasses.xml

    haarcascade_frontalface_alt_tree.xml

    OpenCV支持的目标检测的方法是利用样本的Haar特征进行的分类器训练,得到的级联boosted分类器(Cascade Classification)。注意,新版本的C++接口除了Haar特征以外也可以使用LBP特征。 先介绍一下相关的结构,级联...

    haarcascade_frontalface_alt_tree

    总的来说,"haarcascade_frontalface_alt_tree.xml"是OpenCV中用于实时人脸检测的重要资源,它结合了机器学习和特征工程,为开发者提供了强大的人脸识别能力。通过理解和熟练运用这种模型,我们可以开发出各种有趣的...

    haarcascade_eye_tree_eyeglasses.xml与haarcascade_frontalface_alt.xml

    此技术虽然适用于人脸检测,但不限于人脸检测,还可用于其他物体的检测,如汽车、飞机等的正面、侧面、后面检测。在检测时,先导入训练好的参数文件,其中haarcascade_frontalface_alt2.xml对正面脸的识别效果较好,...

    实战BADI程序-MD_EXPORT_TREE

    然后,使用EXPORT语句将这些数据导出到内存,分别指定为'lt_fieldcat'和'lt_tree_lines'的标识符。之后,提交调用ZSCR_EXPORT_TREE程序来处理导出操作。 在IF_EX_MD_EXPORT_TREE~EXPORT_TREE方法内部,通常会进行...

    FP_Tree.rar_ FP_tree _fp-tree_fp_tree_fp算法_tree

    这个压缩包“FP_Tree.rar”包含了FP-Tree算法的源代码,可以帮助我们理解和应用这一技术。以下是对FP-Tree算法的详细介绍: 1. **FP-Tree的基本概念** - **频繁项集(Frequent Itemset)**:在数据库中出现次数...

    batch_decision_tree_决策树计算_决策树_batch_影像数据_

    决策树是一种广泛应用于数据分析和机器学习的算法,尤其在处理影像数据时表现出高效性和易于理解的优势。本主题主要关注批量决策树(Batch Decision Tree)的计算及其在影像数据中的应用。 决策树算法基于一系列...

    b_plus_tree.zip_b 树_b+tree_b_plus_tree_b树数据库_galles b plus tree

    B+树是一种高效的数据结构,广泛应用于数据库索引和文件系统中。它的设计目标是优化磁盘I/O操作,因为磁盘的读写速度远慢于内存。B+树的主要特点包括平衡、多路搜索树以及所有数据都存储在叶子节点等特性。 1. **...

    fp_tree.rar_charge2t3_fp tree算法例题_fp_tree_fptree算法例题

    FP树(Frequent Pattern Tree)算法是一种用于关联规则学习...通过深入研究并实践"fp_tree.rar_charge2t3_fp tree算法例题_fp_tree_fptree算法例题"中的内容,可以进一步掌握这一算法,并应用到实际的数据分析任务中。

    drag-drop-folder-tree.zip_ajax_dhtmlxtree dr_drop_tree_tree ja

    在这个特定的例子"drag-drop-folder-tree.zip_ajax_dhtmlxtree_dr_drop_tree_tree_ja"中,开发者利用JavaScript的特性实现了一个拖放功能,这在AJAX(Asynchronous JavaScript and XML)开发中非常常见。AJAX允许...

    TreeDlg.rar_tree_tree VC_tree vc_treedlg_vc tree

    "tree_tree", "vc_tree", "vc_treedlg", "vc___tree"这些标签进一步强调了主题的核心——使用VC进行树形对话框(TreeDlg)的编程。 首先,树形控件(TreeCtrl)是Windows GUI应用程序中常见的一种控件,它允许用户...

    jidianqi.zip_jidianqi_list_tree_tree list_继电

    标题中的“jidianqi.zip_jidianqi_list_tree_tree list_继电”暗示这是一个关于继电控制系统的模拟测试软件,其中包含“list”和“tree”等界面元素,可能是一个基于图形用户界面(GUI)的应用。描述中提到,该系统...

    2_3_tree.rar_23tree_23树实现_2_3_tree

    这个压缩包文件"2_3_tree.rar_23tree_23树实现_2_3_tree"包含了2-3树的具体实现,特别是包含了通常在网上难以找到的删除算法。 首先,我们来理解2-3树的基本概念。2-3树中的每个节点可以是叶节点(没有子节点)、2...

    haarcascade-eye-tree-eyeglasses.xml.zip

    在压缩包内,"使用说明.txt" 文件可能包含如何使用"haarcascade_eye_tree_eyeglasses.xml"的指南,这对于正确理解和应用该分类器至关重要。通常,这样的说明会涵盖如何加载模型、预处理图像、设置检测参数以及如何...

    fp_tree.rar_ fp tree_FP Tree算法_FP-tree的C++_fp-tree_tree c语言

    FP Tree(频繁项集树)算法是一种用于数据挖掘中关联规则学习的有效方法,尤其在处理大规模数据集时表现优秀。该算法的核心在于构建一个紧凑的数据结构,即FP树,来存储事务数据库中的频繁项集。这里我们将深入探讨...

    SpeedTree51.rar_For Real_asleepgya_speedtree_speedtree sdk

    Speedtree SDK v.5.1 for real time renderer trees end grass

    b_plus_tree.rar_b+tree_b+tree磁盘_b+树 文件_plus_磁盘实现B+树

    【标题】:“b_plus_tree.rar_b+tree_b+tree磁盘_b+树 文件_plus_磁盘实现B+树”指的是一个关于B+树在磁盘存储环境中的实现项目。 【描述】:“b+树的实现和测试,模拟磁盘文件工作。一门课程的project。”这表明这...

    PyPI 官网下载 | django_polymorphic_tree-2.1-py3-none-any.whl

    2. **Python**:这是`django_polymorphic_tree`所使用的编程语言,Python以其易读性、丰富的库支持和广泛的应用领域而闻名。 3. **后端**:`django_polymorphic_tree`专注于处理服务器端逻辑,即后端开发,可能涉及...

    人脸检测的人眼检测分类器haarcascade_eye_tree_eyeglasses.xml

    人脸检测工具,人眼检测工具,训练好的人眼文件haarcascade_eye_tree_eyeglasses.xml,配合opencv使用,进行人脸检测

    check_item_tree.zip_tree 图标_tree控件,图标_树型_树型控件

    "check_item_tree.zip_tree 图标_tree控件,图标_树型_树型控件"这个标题所涉及的是一个特定类型的UI组件,即带有复选框的树形控件。这种控件在各种应用程序中广泛应用,尤其是那些需要展示层次结构数据的情况,如...

Global site tag (gtag.js) - Google Analytics