/*!
* @author caizhiping
* 下拉树
*/
Ext.define('keel.TreeComboBox',{
extend : 'Ext.form.field.ComboBox',
alias: 'widget.keeltreecombo',
store : new Ext.data.ArrayStore({fields:[],data:[[]]}),
editable : false,
allowBlank:false,
listConfig : {resizable:true,minWidth:250,maxWidth:450},
_idValue : null,
_txtValue : null,
callback : Ext.emptyFn,
treeObj : new Ext.tree.Panel({
border : false,
height : 250,
//width : 350,
autoScroll : true,
rootVisible: false,
store: new Ext.data.TreeStore({
nodeParam : 'bmjg.bmjgdm',
proxy: {
type: 'ajax',
url: '/fs/actions/bmjgtree!ajaxTreeforCombobox',
reader: 'json'
},
autoLoad : false,
root: {
name : 'GT',
id: pbmjgdm,
expanded: true
}
})
}),
initComponent : function(){
this.treeRenderId = Ext.id();
this.tpl = "<tpl><div id='"+this.treeRenderId+"'></div></tpl>";
this.callParent(arguments);
this.on({
'expand' : function(){
if(!this.treeObj.rendered&&this.treeObj&&!this.readOnly){
Ext.defer(function(){
this.treeObj.render(this.treeRenderId);
},300,this);
}
}
});
this.treeObj.on('itemclick',function(view,rec){
if(rec){
this.setValue(this._txtValue = rec.get('text'));
this._idValue = rec.get('id');
//设置回调
this.callback.call(this,rec.get('id'), rec.get('text'));
//关闭tree
this.collapse();
}
},this);
},
getValue : function(){//获取id值
return this._idValue;
},
getTextValue : function(){//获取text值
return this._txtValue;
},
setLocalValue : function(txt,id){//设值
this._idValue = id;
this.setValue(this._txtValue = txt);
}
});
调用:
/**下拉机构数*/
var xltree=new keel.TreeComboBox({
fieldLabel : '部门机构',
name:'BMJGJC',
anchor:'95%',
//allowBlank:false,
callback:function(id,text){
//赋值给隐藏域
T_RY_NEW_FORM.getForm().findField("BMJGDM").setValue(id);
}
});
效果图:
分享到:
相关推荐
在EXTJS4中,实现一个下拉树(Combobox Tree)并支持多选和复选功能,主要是通过自定义组件(Ext.define)来完成的。这个组件继承自EXTJS的Picker字段(Ext.form.field.Picker),并添加了树形结构和复选功能。以下...
### ExtJs4 实现下拉树选择框 ComboTree #### 概述 在现代Web应用开发中,ExtJS 是一个非常强大的JavaScript库,用于构建复杂的客户端应用程序。它提供了丰富的组件库,使得开发者能够轻松地创建出功能丰富且交互性...
ExtJS 4 下拉树(TreeCombo)是一种组合控件,它将传统的下拉框与树形结构结合在一起,提供了一种在有限空间内展示层级数据的高效方式。这种控件在很多场合都非常实用,例如在需要用户选择分类或者层级结构的场景中...
在这个特定的情况下,我们讨论的是一个定制的下拉树菜单控件——ComboBoxTree,它在ExtJS4中实现了单选和多选功能,并且具备展开选中指定节点的能力。这个控件在实际项目中已经被广泛使用并证明了其稳定性和实用性,...
在ExtJS4中,多选下拉树(Multi Select Tree)是一种用户界面组件,它结合了下拉菜单和树形结构,允许用户从层级结构中选择多个项目。这个组件在数据管理、分类选择等场景中非常实用。 在实现多选下拉树时,我们...
- **ComboBoxTree.js:** 这是实现下拉树功能的主要JavaScript文件,它定义了自定义的ComboBoxTree组件,包含了构造函数、配置项、方法等,用于创建和操作下拉树。 - **ComboBoxTree-min.js:** 这是压缩后的版本,...
7. **扩展控件**:可能需要创建一个新的组件类,继承自`Ext.form.field.ComboBox`,并覆盖或扩展其默认行为,以实现下拉树的功能。 8. **配置项**:例如,`displayField`定义显示字段,`valueField`定义值字段,`...
- 要实现下拉菜单树,你需要创建一个ComboBox,然后在它的下拉部分嵌入一个TreePanel。 - 这可以通过定义ComboBox的`store`属性为一个TreeStore,同时配置`displayField`来决定显示哪个字段,`valueField`来保存...
利用extjs6自带的treePicker插件,实现下拉树的效果
### ExtJS4 下拉树组件知识点详解 #### 一、概述 在ExtJS4中,下拉树组件(TreeComboBox)是一种特殊的组合框,它结合了下拉列表和树形结构的功能,允许用户通过选择树节点来填充组合框的值。这种组件广泛应用于...
1. **下拉树组件**:在ExtJS中,树形组件(TreePanel)用于展示层次结构的数据。它支持动态加载、拖放操作、节点展开和折叠等功能。而下拉树是将树形结构嵌入到下拉框中,通常用于选择一组相关的项目,比如文件夹...
在ExtJS中,下拉树是通过`Ext.form.field.Tree`类实现的,它继承自`Ext.form.field.ComboBox`,增加了树状结构的功能。`ComboTree.js`可能就是实现了这个功能的JavaScript文件,包含了一些定制化的代码或扩展。 ...
标题中的“Extjs4 下拉树”指的是EXTJS框架中的一个组件,用于实现下拉菜单与树形结构的结合,这种组件通常在需要选择层级结构数据时非常有用,比如地区选择、组织架构选择等。EXTJS是Sencha公司开发的一个...
### Extjs自定义组件——下拉树:深入解析与实现 在现代Web开发中,Extjs作为一款功能强大且灵活的框架,深受开发者喜爱。它提供了丰富的UI组件库,能够帮助开发者快速构建复杂的用户界面。其中,自定义组件是Extjs...
综上所述,ExtJS 4.x的ComboboxTree组件是实现下拉树形菜单的强大工具,它结合了下拉框的简洁和树结构的层次感,提供了丰富的定制选项,能满足多种场景下的需求。理解并熟练掌握其用法,将极大地提升开发效率和用户...
通过以上详细分析,可以得出ExtJS实现下拉树组件的要点和步骤。开发者可以根据实际需求,修改和扩展上述代码,创建满足特定业务逻辑的下拉树。此外,文章中提到的ExtJS下拉树组件在展示和交互上的应用,不但增强了...
extjs 树形下拉列表框,可以进行数据选择,数据回显。
在ExtJS中,下拉列表树控件(ComboBox Tree)是常见的组件之一,它结合了下拉列表和树结构,提供了更丰富的用户界面。这个控件允许用户从一个层级化的数据结构中进行选择,非常适合于展示有层次关系的数据。 在创建...
描述中提到的链接指向了一个博客文章,虽然描述本身是空的,但我们可以推测博主可能分享了关于如何在ExtJS中实现下拉列表树的具体步骤或代码示例。通常,这种类型的教程会涵盖如何创建树节点,如何将它们与下拉列表...