- 浏览: 217178 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
henchong:
如果提示信息全是数字的话,是不会自动换行的,不知道这个该怎么解 ...
用ExtJs为表格单元格增加Tooltips浮动信息 -
李君寻:
自动换行,算是懂了
ColumnLayout的使用方法 -
icrwen:
楼主能解释下为啥要用air技术呢,是不是只用ext就可以了啊
extjs+air开发 -
wenniuwuren:
不能显示图片..
利用session实现一次性验证码 -
追风筝的孩子:
还是没有解决啊
com.ibatis.sqlmap.client.SqlMapException: There is no statement named 语句名 in thi
ext提供的树本身就有拖拽的功能,也许大部分使用过TreePanel的都知道。可是光是在前台拖来拖去那是空把式不是吗?因此必须获取拖拽的事件才能与后台交互。因此现在就说一下如何获取tree的拖拽事件。
对于要想让tree可以拖拽,那么必须为tree的enableDD属性设置为true。
其实事件最常用的就是nodedrop。eg:tree.on('nodedrop',function(){ …… });
js代码:
//节点可以编辑的树
Ext.namespace('demo');
demo = function(){
this.init();//初始化函数
};
Ext.extend(demo,Ext.util.Observable,{
init:function(){
//创建一个简写
var Tree = Ext.tree;
//添加一个树形面板
this.tree = new Tree.TreePanel({
el:'tree-panel',//将树形添加到一个指定的div中
title:'可编辑的树',
autoScroll:true,
enableDD:true,//是否支持拖拽效果
containerScroll: true,//是否支持滚动条
loader:new Ext.tree.TreeLoader({
dataUrl:'tree-tz-test.json'
})
});
//创建一个根节点
this.root = new Tree.AsyncTreeNode({
text: '木叶村',
draggable:false,
id:'source'
});
//为tree设置根节点
this.tree.setRootNode(this.root);
//渲染树形
this.tree.render();
this.root.expand(true);
/*设置tree的节点放置函数此函数有一个很重要的参数对象e
e对象有三个重要的属性,分别为dropNode,target,point
1.dropNode为在拖动时鼠标抓住的节点
2.target为将要放置在某处的节点
3.point为被放置的状态,分别有append表示添加,above节点的上方,below节点的下方。
*/
this.tree.on('nodedrop',function(e){
if(e.point=='append'){
alert('当前"'+e.dropNode.text+'"被"'+e.target.text+'"录取!');
}else if(e.point=='above'){
alert('当前"'+e.dropNode.text+'"放在了"'+e.target.text+'"上面!');
}else if(e.point=='below'){
alert('当前"'+e.dropNode.text+'"放在了"'+e.target.text+'"下面!');
}
});
}
});
//实例化主程序类
Ext.BLANK_IMAGE_URL = 'images/public/s.gif"';
Ext.onReady(function(){
var myDemo = new demo(); //实例化
});
html:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>可拖拽的树</title>
<link rel="shortcut icon" href="favicon.ico" />
<link rel="Bookmark" href="favicon.ico" />
<link href="css/default.css" rel="stylesheet" type="text/css">
<!--导入prototype文件 -->
<script language="javascript" type="text/javascript" src="js/prototype.js"></script>
</head>
<body>
<!--loading加载 -->
<div id="loadingTab">
<div class="loading-indicator">
<img src="images/public/loader.gif" width="32" height="32" style="margin-right:8px;float:left;vertical-align:top;"/>
<a href="index.html">可拖拽的树练习</a> -
<span id="loading-yfo"><a href="http://yfoffice.net.cn" target="_blank">忆凡工作室</a></span><br />
<span id="loading-msg">加载样式表和图片...</span>
</div>
</div>
<br>
<h1>拖拽tree的综合练习</h1>
<div id="tree-panel" style=" margin:30px; width:300px; height:400px"></div>
<link href="js/ext-2.0/resources/css/ext-all.css" rel="stylesheet" type="text/css">
<script type="text/javascript">$('loading-msg').innerHTML = '正在加载JSUI组建...';</script>
<script language="javascript" type="text/javascript" src="js/ext-2.0/adapter/ext/ext-base.js"></script>
<script language="javascript" type="text/javascript" src="js/ext-2.0/ext-all.js"></script>
<script language="javascript" type="text/javascript" src="js/ext-2.0/source/locale/ext-lang-zh_CN.js"></script>
<script type="text/javascript">$('loading-msg').innerHTML = '正在初始化...';</script>
<script type="text/javascript" src="js/tree-tz-test.js"></script>
<script type="text/javascript">
$('loading-msg').innerHTML = '初始化完毕!!';
Ext.get('loadingTab').fadeOut({remove: true});//让加载标签消失
</script>
</body>
</html>
本例子的json:
[
{
"text":"卡卡西班",
"id":"01",
"allowDrag":false,
"children":[
{"text":"小樱","id":"0101","leaf":true,"allowDrag":true},
{"text":"鸣人","id":"0102","leaf":true,"allowDrag":true},
{"text":"佐助","id":"0103","leaf":true,"allowDrag":true}
]
},
{
"text":"凯班",
"id":"02",
"allowDrag":false,
"children":[
{"text":"小李","id":"0201","leaf":true,"allowDrag":true},
{"text":"宁次","id":"0202","leaf":true,"allowDrag":true},
{"text":"天天","id":"0203","leaf":true,"allowDrag":true}
]
}
]
看看上面json可以看出,我为节点设置了一个allowDrag属性,如果该属性为false,表示这个节点不可以拖动,否则可以.
发表评论
-
extjs+air开发
2009-06-24 21:41 3040一、准备工作 1、下载adobe air install和ad ... -
带复选框(checkbox)的树
2009-03-20 15:05 1871该例子可以满足我们的一般需求。很多时候我们需要用到带check ... -
ExtJs中解决IE的min-width问题
2009-02-27 22:14 790当使用了ExtJs后,脚本documentElement.cl ... -
Ext中的动画处理
2009-02-27 22:13 1185CartoonExt.js //图片宽 var WIDTH=3 ... -
Ext.Ajax
2009-02-27 22:12 1199其实Ext.Ajax的使用并不 ... -
使用百分比设置GridPannel宽度的方法
2009-01-14 15:03 1662使用过Ext的Gird(网格)功 ... -
巧妙运用NumberField
2009-01-14 15:02 4595巧妙运用NumberField: 只允许字段输入数字. v ... -
Ext.ux.TabCloseMenu插件的使用
2009-01-14 14:59 1584tab在ext里很常用,在点开N个tab后,是否能通过右键菜单 ... -
直接在页面上显示富文本编辑器
2009-01-14 14:58 3297<html> <head> ... -
带右键菜单的树
2009-01-14 14:58 1209ext树形菜单加上右键菜单是不是很酷,ext当然也能实现。 树 ... -
EXT 二级联动下拉列表
2009-01-14 14:57 2585page.html代码如下 <!DOCTYPE HTM ... -
带搜索功能的grid分页实例
2009-01-09 13:43 1579本实例将在带分页的表格基础上进行扩展,增加搜索功能。由于本实例 ... -
带分页的表格
2009-01-09 13:43 1045主要介绍如何使用ext的表格控件实现ajax分页。 上一节讲了 ... -
树形下拉框
2009-01-09 13:43 2592<!DOCTYPE HTML PUBLIC " ... -
支持手写输入及联想功能的下拉框
2009-01-09 13:42 2905<!DOCTYPE HTML PUBLIC " ... -
让ext项目步入对象化编程
2009-01-09 13:39 843对于一些刚刚接触javascript的人来说大部分都在使用面向 ... -
grid的继承类,构建方便的grid操作
2009-01-09 13:13 1462在以往建立grid的时都要 ... -
ext异步加载树的子节点
2009-01-09 13:12 1983<script> Ext.o ... -
可直接编辑节点的tree
2009-01-09 12:03 1714其实代码并不是很复杂,只是在原有的树形添加一个TreeEdit ... -
Checkbox与RadioGroup的使用方法
2009-01-09 12:03 7107Ext提供的Checkbox与Radio, ...
相关推荐
在这个场景下,我们将探讨如何利用Vue和IView实现一个具有拖拽和双击编辑功能的Tree组件。 首先,让我们了解一下`Tree`组件。在Web应用中,`Tree`组件通常用于展示层级关系的数据,如文件系统、组织结构等。IView中...
在实际应用中,这个组件可以广泛应用于后台管理系统、文件管理界面、组织架构展示等场景。通过合理的配置和定制,开发者可以创建出符合业务需求的高效交互界面。在压缩包中的`drag-tree`文件,可能包含这个组件的源...
在本文中,我们将深入探讨如何实现“拖拽Tree中结点的例子”,这主要涉及使用Adobe Flex的树组件(Tree)来实现节点的拖放(Drag and Drop)功能。Flex是一种基于ActionScript 3.0的开源框架,用于构建富互联网应用...
在实际应用中,我们还需要考虑以下方面: - **性能优化**:大量数据时,应避免一次性加载所有节点,而采用懒加载策略,只在需要时加载相应部分。 - **错误处理**:确保在异常情况下(如网络问题、数据格式错误等)...
在本文中,我们将详细探讨如何在Flex的Tree组件中实现节点的拖放操作,并且限制可拖动的节点以及拖动的目标位置。 首先,我们需要了解Flex Tree组件的基本用法。Tree组件用于显示层次结构的数据,每个节点代表数据...
**基于Vue.js的可拖拽树组件** 在前端开发中,常常需要实现各种交互式的UI组件,其中树形结构是一种常见的数据展示方式。Vue.js,作为一款轻量级且功能强大的JavaScript框架,提供了丰富的插件和组件库来帮助开发者...
在Windows编程领域,MFC(Microsoft Foundation Classes)是C++库,它提供了对Windows API的封装,便于开发者创建Windows应用程序。MFC Tree Control是MFC框架中的一个重要组件,用于显示和管理具有层次结构的数据,...
在实际开发中,你可以选择使用现有的库,如d3.js、jQuery UI、Angular Tree Control等,它们已经实现了拖放功能。不过,如果你想要自定义更复杂的交互或优化性能,理解上述技术并亲手实现会更有价值。文件列表中的...
在VC++编程环境中,开发可拖动节点的树形控件是一种常见的需求,尤其是在构建用户界面时需要提供灵活的操作交互。"VC++ Drag Tree"是一个这样的实现,它允许用户通过鼠标拖放操作来重新排列树形结构中的节点,提高...
本文将深入探讨如何实现一个具有拖放功能的`CTreeCtrl`,即`dragtree(可拖动CTreeCtrl)`,以及这一功能对用户界面交互性的重要提升。 拖放功能在现代用户界面设计中扮演着关键角色,它提供了直观且便捷的操作方式,...
在Swing中,我们可以利用JTree创建一个可拖放(Drag and Drop)的树状结构,使得用户能够通过简单的拖拽操作来移动或插入节点。这种功能在数据组织和展示时非常实用,例如在文件系统管理、项目管理或复杂数据结构的...
在实际应用中,还需要关注性能优化,比如通过异步加载来处理大数据量的树,以及利用缓存策略提高响应速度。 总的来说,掌握Tree插件有助于提升开发效率,尤其在处理层次化数据和构建用户友好的界面时。通过学习和...
`DragSource`定义了可拖动的对象,而`DropTarget`则定义了可以接收拖动对象的目标区域。在TreePanel中,我们可以为每个节点实例化一个`DragSource`,并为整个TreePanel设置一个`DropTarget`。 第一个拖放例子可能...
总结起来,EasyTree作为一个优秀的前端树形组件,其强大在于易于集成、高度可定制以及良好的交互体验。通过本教程,你应该能够掌握如何在项目中使用EasyTree,以及如何根据自己的需求进行扩展和优化。在实践中,不断...
Excel中的TreePlan是一款强大的建模插件,专用于创建和分析决策树模型。在商业智能、项目管理和风险管理等领域,...在实际应用中,结合业务场景和数据,用户可以灵活运用TreePlan来优化决策,降低风险,实现最佳效益。
在实际应用中,你可能还需要处理树结构的初始化加载、节点的动态添加和删除等情况,以确保复选框和父目录状态的同步更新。此外,可以使用 Flex 的 Bindings 或数据驱动的编程方式来简化这部分逻辑。 总之,Flex ...
在实际项目中,jsTree可用于构建文件管理系统、组织结构图、导航菜单等多种场景,其强大的功能和易用性使之成为前端开发者的得力工具。所以,让我们一起探索这个jsTree大集合,提升我们的开发技能吧!
jstree 可广泛应用于文件管理器、组织架构展示、菜单系统等多个场景。 #### 二、文档内容概述 本文档主要介绍了如何在 jQuery 下使用 jstree 构建简单的树形结构,并实现了以下功能: 1. **使用 JSON 数据格式...
在Vue.js框架中实现一个可拖拽的树形表格是一项技术挑战,涉及到组件设计、事件处理、数据管理和DOM操作等多个方面。Vue.js以其简洁的API和强大的响应式系统深受开发者喜爱,而添加拖拽功能则需要用到HTML5的Drag ...
在IT领域,拖拽功能是用户界面中常见的一种交互方式,尤其在数据可视化和管理工具中,例如ExtJS的树形组件(Tree)。本项目主要关注如何在完成拖拽操作后,更新并保存树节点的新顺序。ExtJS是一个强大的JavaScript库...