网上说的天花乱坠,各种招儿都试了,都没用,其实非常的简单,只需要将要被默认选中的combobox设置一下value即可,但是有一点是需要注意的,看代码:
<script type="text/javascript">
Ext.require([
'Ext.data.*',
'Ext.grid.*',
'Ext.tree.*'
]);
Ext.onReady(function() {
Ext.define('ctreemodel', {
extend: 'Ext.data.Model',
fields: [
{name:'id', type:'string'},
{name:'path', type:'string'},
{name:'text', type:'string'},
{name:'parent', type:'string'},
{name:'levKey', type:'string'},
{name:'leaf', type:'boolean'},
{name:'morder', type:'string'}
]
});
//菜单等级数据模型
Ext.define('menuLelModel', {
extend: 'Ext.data.Model',
fields: [
{name: 'levKey', type: 'string'},
{name: 'levValue', type: 'string'}
]
});
var store = Ext.create('Ext.data.TreeStore', {
model: 'ctreemodel',
proxy:{
type: 'ajax',
url: basePath +'auth/menu_load.do'
}
});
//菜单等级数据集
var levStore = Ext.create('Ext.data.Store', {
model: 'menuLelModel',
data:[
{levKey: 1, levValue: '一级菜单'},
{levKey: 2, levValue: '二级菜单'}
]
});
var treeGridPanel = Ext.create('Ext.tree.Panel', {
region: 'center',
frame: true,
split: true,
title: '菜单信息列表',
width: '100%',
height: '100%',
scroll: 'vertical',
renderTo: Ext.getBody(),
collapsible: true,
useArrows: true,
rootVisible: false,
store: store,
singleExpand: false,
tbar: [{
text: '修改',
id: 'update',
iconCls: 'option',
ref: '../removeButton',
handler: function(){
var records = treeGridPanel.getView().getChecked();
if(records.length != 1) {
Ext.Msg.alert('提示', '请您选择指定的一条记录');
return ;
}
//如果想将coMenuLevUpdate的值默认选中,只需要setValue即可
//但是需要注意的是模型中levKey必须为string,如果是int要转型: Number(records[0].get("levKey"))
Ext.getCmp("coMenuLevUpdate").setValue(records[0].get("levKey"));
update_win.show();
}
}],
columns: [{
xtype: 'treecolumn', //this is so we know which column will show the tree
width: 100,
text: '菜单名称',
flex: 1,
sortable: true,
dataIndex: 'text'
},{
text: '菜单url',
width: 300,
flex: 1,
dataIndex: 'path',
sortable: true
},{
text: '显示顺序号',
flex: 1,
dataIndex: 'morder',
sortable: true
}]
});
var update_form = new Ext.FormPanel({
labelWidth: 170,
labelAlign: 'left',
frame: true,
defaults: {
width: 170
},
bodyStyle: 'padding:10px 5px 0',
defaultType: 'textfield',
monitorValid: true,
items: [{
xtype: 'combo',
name:'menuLevUpdate',
id : 'coMenuLevUpdate',
width: 200,
fieldLabel:'菜单等级',
labelAlign: 'left',
labelWidth: 80,
displayField:'levValue',
valueField:'levKey', //注意valueField levKey是string类型(类似"1" "2"这样的字符串。)
store: levStore,
triggerAction:'all',
queryMode: 'local',
selectOnFocus:true,
forceSelection: true,
allowBlank: false,
editable: true,
//emptyText:'请选择菜单等级',
//blankText : '请选择菜单等级',
typeAhead: true,
listeners:{
select:function(combo, record, eOpts){
}
}
}],
buttons: [{
text: '关闭',
iconCls: 'cancel',
ref: '../addCancelButton',
handler: function(){
update_form.getForm().reset();
update_win.hide();
}
}]
});
var update_win = new Ext.Window({
el: 'add-win',
title: '菜单信息添加',
layout: 'fit',
border: false,
width: 350,
height: 300,
closable: false,
resizable: false,
modal: true, // 模态窗口
items: [update_form]
});
Ext.create('Ext.container.Viewport', {
layout: 'border', //使用border布局
items: [treeGridPanel]
});
});
</script>
就是这么简单。
分享到:
相关推荐
extjs editgrid combobox 回显extjs editgrid combobox 回显extjs editgrid combobox 回显extjs editgrid combobox 回显
extJs4 ComboBox 代码组合框实例,ComboBox 各个主要参数详细解释
extjs4 ComboBox 点击下拉框 出现grid效果 这里只实现了点击下拉框显示gird,点击其他地方grid自动消失
项目进行前端框架升级——extJS 4升级至extJS6.6所遇的一些问题及相对应的解决方案建议
EXTJS的COMBOBOX级联实现和数据提交VALUE[文].pdf
extjs 自动补全,模拟下拉列表combobox
Extjs4下拉树菜单 ComboBoxTree 支持单选和多选并且支持展开选中指定节点的通用控件 在项目中已经成熟运用 值得收藏和运用
该资源主要展示了在Extjs6中Combobox控件实现下拉选择多个数据的功能
extJs3升级extjs4方案, extJs3升级extjs4需要修改大量代码
NULL 博文链接:https://wwwzhouhui.iteye.com/blog/701745
ExtJs grid多选时获取选中的所有值,以及其他相关的操作
Extjs4下拉菜单中用Grid显示,有单选,和多选两个控件,完美通用代码控件,绝对让你好用,值得收藏^-^
ExtJS4学习笔记(十六)---Combobox三级联动 ExtJS4学习笔记(十四)--- ComponentQuery ExtJS4学习笔记(四)---Grid的使用 Extjs4开发笔记(三)——菜单的实现 Extjs4开发笔记(二)——框架的搭建 Extjs4开发笔记(五)——...
Extjs4---combobox省市区三级联动+struts2
extjs的combobox功能很强大,通过它可以模糊查询,只要添加几个属性即可,网上找的代码有的不符合我的要求。 所以自己改了一些代码。
代码看起来简洁又漂亮是如何做到的,这篇文章主要为大家详细介绍了Extjs如何让combobox写起来更简单,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
在对树节点进行操作后往往需要进行reload操作刷新一下树,但是很多业务都需要在树形刷新后默认选中最后一次选中的节点。这样就必须先保存前一次选中节点的信息,在reload之后再次通过节点的信息进行expand逐层展开到...
很多网友在问,Extjs4.0 ComboBox如何实现,好在之前用3.x实现过一个三级联动,如今用Extjs4.0来实现同样的联动效果。其中注意的一点就是,3.x中的model:’local’在Extjs4.0中用queryMode: ‘local’来表示,而且在...
NULL 博文链接:https://dengli19881102.iteye.com/blog/1046190