EXTJS 动态生成下来树形框

本例中的Ext.ux.ComboBoxTree对Ext.form.ComboBox控件进行了简单的扩展,将Ext.tree.TreePanel整合进来,以下拉树的形式显示出来。

扩展的功能点:
一、支持form的提交
二、提供属性selectNodeModel,指选择树结点的模式,提供四种模式,分别是
1. all:所有结点都可选中
2. exceptRoot:除根结点,其它结点都可选(默认)
3. folder:只有目录(非叶子和非根结点)可选
4. leaf:只有叶子结点可选

使用方法:
Js代码
var comboBoxTree = new Ext.ux.ComboBoxTree({
renderTo : 'comboBoxTree',
width : 250,
//listWidth:300, 这是设置下拉框的宽度,默认和comBoxTree的宽度相等
tree : new Ext.tree.TreePanel({
bbar: ['名称:',{xtype:'trigger',width:200,triggerClass:'x-form-search-trigger',}],
loader: new Ext.tree.TreeLoader({dataUrl:'getNodes.jsp'}),
root : new Ext.tree.AsyncTreeNode({id:'0',text:'根结点'})
}),
selectNodeModel:'leaf', //只有选叶子时,才设置值
listeners:{
beforeselect: function(comboxtree,newNode,oldNode){//选择树结点设值之前的事件
//...
},
select: function(comboxtree,newNode,oldNode){//选择树结点设值之后的事件
//...
},
afterchange: function(comboxtree,newNode,oldNode){//选择树结点设值之后,并当新值和旧值不相等时的事件
//...
}
}
});

js : 代码二:
{
columnWidth : .33,
layout : 'form',
defaults : {
anchor : "98%"
},
labelAlign : "right",
labelWidth : 60,

items : [ {
fieldLabel : "所属单位",
xtype : "combotree",
tree : {
xtype : 'treepanel',
bbar : [ '名称:', {
xtype : 'trigger',
id : 'searchName',
width : 200,
triggerClass : 'x-form-search-trigger',
onTriggerClick : search
} ],
loader : new Ext.tree.TreeLoader( {
dataUrl : 'deptManAction!getDeptTree.action'
}),
root : new Ext.tree.AsyncTreeNode( {
id : '0',
text : '根结点'
})
},

//all:所有结点都可选中
//exceptRoot:除根结点,其它结点都可选(默认)
//folder:只有目录(非叶子和非根结点)可选
//leaf:只有叶子结点可选
selectNodeModel : 'all'

} ]
}
按照列布局实现的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值