/**
* 韩飞
*
* @class TreeSelector
* @extends Ext.form.ComboBox
*/
TreeSelector = Ext.extend(Ext.form.ComboBox, {
/**
* 回调函数,用于传递选择的id,text属性
*
* @type
*/
callback : Ext.emptyFn,
store : new Ext.data.SimpleStore({
fields : [],
data : [[]]
}),
editable : false,
mode : 'local',
emptyText : "请选择部门",
allowBlank : false,
blankText : "必须输入!",
triggerAction : 'all',
maxHeight : 200,
anchor : '95%',
displayField : 'text',
valueField : 'id',
tpl : "<tpl for='.'><div style='height:200px'><div id='tree'></div></div></tpl>",
selectedClass : '',
onSelect : Ext.emptyFn,
/**
* 根的名字
*
* @type String
*/
rootText : '组织机构',
/**
* 树的请求地址
*
* @type String
*/
treeUrl : 'system/organization/loadOrganizationTrees.action',
tree : null,
initComponent : function() {
this.tree = new Ext.tree.TreePanel({
height : 200,
scope : this,
autoScroll : true,
split : true,
root : new Ext.tree.AsyncTreeNode({
expanded : true,
id:'o',
text : this.rootText
}),
loader : new Ext.tree.TreeLoader({
url : this.treeUrl
}),
rootVisible : true
// ,
/*
* listeners : { scope : this, 'click' : function(node) {// 单击事件
* if (node.id != null && node.id != '') {
*
* this.callback.call(this, node.id, node.text);
*
* this.collapse();
* } } }
*/
});
var c = this;
/**
* 点击选中节点并回调传值
*/
this.tree.on('click', function(node) {
if (node.id != null && node.id != '') {
if (node.id != 'o') {
c.callback.call(this, node.id, node.text);
c.collapse();
}else{
Ext.Msg.alert("提示","此节点无效,请重新选择!")
}
}
})
this.on('expand', function() {
this.tree.render('tree');
this.tree.expandAll();
});
TreeSelector.superclass.initComponent.call(this);
}
})
使用方法 new TreeSelector({callback:function(){ }})
分享到:
相关推荐
### ExtJs自定义消息框详解 #### 一、引言 在Web开发中,与用户的交互体验至关重要。作为一款优秀的JavaScript框架,ExtJs提供了多种工具和组件帮助开发者快速构建高质量的用户界面。其中,消息框作为一种常见的...
在本文中,我们将深入探讨如何使用ExtJS框架来实现自定义树结构以及动态表头的功能。ExtJS是一款强大的JavaScript库,常用于构建富客户端应用程序,它提供了丰富的UI组件和强大的数据绑定机制。VS2015是Visual ...
### Extjs自定义组件——下拉树:深入解析与实现 在现代Web开发中,Extjs作为一款功能强大且灵活的框架,深受开发者喜爱。它提供了丰富的UI组件库,能够帮助开发者快速构建复杂的用户界面。其中,自定义组件是Extjs...
extJs4 ComboBox 代码组合框实例,ComboBox 各个主要参数详细解释
本篇我们将深入探讨“Extjs之旅”中的一个关键组件——Combox(组合框),特别是其远程加载数据的特性。 Combox在ExtJS中是一个非常灵活的控件,它可以看作是下拉列表和文本输入框的结合体,用户可以输入文本搜索,...
标题中的“EXTJS动态树支持checkbox全选”指的是EXTJS中树组件的一个特性,即在树形结构中添加复选框(checkbox)功能,并支持全选和全取消选中操作。这样的功能对于需要用户进行多项选择的场景非常有用,比如文件...
在EXTJS中,树形控件(Tree)是一种常见的数据展示方式,用于组织层次结构的数据。树形控件可以被广泛应用于文件系统、组织架构、菜单等场景。当我们需要在这些大量的层次数据中查找特定信息时,搜索功能就显得尤为...
ExtJS下拉树是一种在Web应用中常用的交互组件,它结合了下拉框和树形结构的优点,使得用户可以...总的来说,ExtJS下拉树是通过组合ExtJS的基础组件和自定义代码来实现的,它提供了一种高效的方式来展示和操作层级数据。
- `样式文件.css`:可能包含了一些自定义的样式,用于美化复选框和树的显示效果。 - `示例HTML文件.html`:演示如何在JSP页面上使用这个复选框树组件。 为了实现这些功能,开发者需要对ExtJS的API有深入理解,包括`...
在“C# Extjs 登陆框、框架”这个主题中,我们主要关注的是如何使用ExtJS创建一个登录界面,并结合C#后端实现用户验证。登录框是任何应用程序的基础元素,它通常包含用户名和密码字段,以及登录和取消按钮。在ExtJS...
目录树编辑功能是指EXTJS中允许用户对树形结构进行动态操作,包括添加、删除、修改和查询节点。这个功能在许多业务场景中非常实用,例如文件管理系统、权限管理界面等。EXTJS提供了一套完整的API和事件机制,使得...
6. **可扩展性**:EXTJS 4的设计使得树形表格组件易于扩展,你可以添加自定义的行为、插件,甚至创建自己的节点类型。 在实际应用中,我们可以通过以下步骤来使用EXTJS 4的树形表格组件: 1. **创建Store**:定义...
在IT行业中,`Combox`(组合框)是一种常见的用户界面元素,它结合了文本输入框和下拉列表的功能,通常用于提供用户选择一个或多个预定义的选项。当需要在下拉列表中呈现层级结构时,我们就会涉及到“Combox下拉树”...
在ExtJs5中,开发人员有时需要自定义UI以满足特定的设计需求,比如去掉`textfield`组件的边框。在给定的描述中,我们看到开发者遇到了一个问题:默认情况下,ExtJs5的`textfield`组件有明显的边框,但通过添加特定的...
"Extjs 无限树菜单 后台拼接json"这个主题涉及到如何在后端生成无限级别的树形菜单数据,并通过JSON格式传输到前端进行渲染。 首先,我们要理解树形菜单的基本概念。树形菜单是一种以节点和层级关系展示数据的控件...
总的来说,"Extjs Json树封装"涉及的核心知识点有:JSON数据格式、ExtJS树形组件、树加载器(`JsonTreeLoader`)、可能的自定义插件(`JsonPluginTreeLoader`)以及如何在实际应用中配置和使用它们。理解并熟练运用...
1.ExtJS自定义组件,图片按钮为例. 2.此图片按钮背景完全为图片,没有边框,需要使用者提供2张图片,一张初始化用,一张点击后用,可在'imgPaths:'属性里填写,格式为'01.jpg~02.jpg' 3.解压后请将所有附件放置您extjs...
这个“ExtJS树形框架(一个例子)”示例项目展示了如何利用ExtJS创建一个与后端Oracle数据库、iBATIS持久层框架和Struts MVC框架交互的树形界面。下面,我们将深入探讨这些技术以及它们在该项目中的应用。 1. **...
ExtJS4中的ComboxTree是一种将下拉列表与树形结构结合的组件,它扩展了标准的ComboBox,提供了更丰富的用户交互体验。这种组件在数据展示和选择时特别有用,尤其是在处理具有层级关系的数据时,比如部门结构、地区...
该资源主要展示了在Extjs6中Combobox控件实现下拉选择多个数据的功能