java extjs combobox_extjs的combobox的用法

 2023-10-20 阅读 21 评论 0

摘要:可以用javascript的數組作為數據源,也可以用json作為數據源:1.用javascript數組var CountryCode = [['93','Afghanistan(93)'],['355','Albania (355)'],['213','Algeria (213)'],['684','American Samoa (6

可以用javascript的數組作為數據源,也可以用json作為數據源:

1.用javascript數組

var CountryCode = [

['93','Afghanistan(93)'],

['355','Albania (355)'],

['213','Algeria (213)'],

['684','American Samoa (684)'],

['376','Andorra (376)'],

['244','Angola (244)'],

.....

]

new Ext.form.ComboBox(...{

fieldLabel: 'Country Code',

name:'country_code',

forceSelection: true,

listWidth: 200,

store: new Ext.data.SimpleStore(...{

fields: ['value', 'text'],

data : CountryCode

}),

valueField:'value',

displayField:'text',

typeAhead: true,

mode: 'local',

triggerAction: 'all',

selectOnFocus:true,//用戶不能自己輸入,只能選擇列表中有的記錄

allowBlank:false

})

2:用json作為數據源

var comboOptions = new Ext.data.JsonStore(...{

url:'myurl',

fields: ['id','name']});

comboOptions.load();

new Ext.form.ComboBox(...{

fieldLabel: 'Management Level',

name:'group_id',

forceSelection: true,

listWidth: 150,

store: comboOptions,

valueField:'id',

displayField:'name',

typeAhead: true,

mode: 'local',

triggerAction: 'all',

selectOnFocus:true,

allowBlank:false

})

myurl輸出的json數據格式如下:

[{"id":"1","name":"Super Admin"},{"id":"2","name":"Admin"}]

需要注意的是,如果返回的json數據有多列,需要在new JsonStore的時候,在fields一項中填寫所有column的名字,否則不能填充combobox

第一種方式(這種方式,我在使用時,如果數據不是從后臺傳過來的就可以,如果是從后臺傳過來的就不行了,要使用第二種方式)、

varCountryCode = [

['93','Afghanistan(93)'],

['355','Albania (355)'],

['213','Algeria (213)'],

['684','American Samoa (684)'],

['376','Andorra (376)'],

['244','Angola (244)']

]

varcheckupperson =newExt.form.ComboBox({

fieldLabel:'審核人',

name:'checkupperson',

forceSelection:true,

listWidth: 200,

store:newExt.data.SimpleStore({

fields: ['value','text'],

data : CountryCode

}),

valueField:'value',

displayField:'text',

typeAhead:true,

mode:'local',

triggerAction:'all',

selectOnFocus:true,//用戶不能自己輸入,只能選擇列表中有的記錄

allowBlank:false,

listeners:{

select:function(){

alert(this.value);

}

}

});

checkupperson.on('beforerender',function(){

this.value=376;

});

第二種方式:

vardepCombo =newExt.form.ComboBox({

fieldLabel:'部門',

allowBlank:false,

allowNegative:false,

triggerAction:'all',

displayField :'depName',

valueField :'depId',

id:'test',

store:newExt.data.JsonStore({

fields: ['depId','depName'],

url:'../combobox.do?action=getDepartmentComboBox',

autoLoad :true,

listeners :{

load:function(){

Ext.getCmp('test').setValue(17);

}

}//在此加一個這個玩意,就可以了,呵呵,是在jsonstore中加的,注意

}),

editable :false

});

第一種方式(這種方式,我在使用時,如果數據不是從后臺傳過來的就可以,如果是從后臺傳過來的就不行了,要使用第二種方式)、

var CountryCode = [

['93','Afghanistan(93)'],

['355','Albania (355)'],

['213','Algeria (213)'],

['684','American Samoa (684)'],

['376','Andorra (376)'],

['244','Angola (244)']

]

var checkupperson = new Ext.form.ComboBox({

fieldLabel: '審核人',

name:'checkupperson',

forceSelection: true,

listWidth: 200,

store: new Ext.data.SimpleStore({

fields: ['value', 'text'],

data : CountryCode

}),

valueField:'value',

displayField:'text',

typeAhead: true,

mode: 'local',

triggerAction: 'all',

selectOnFocus:true,//用戶不能自己輸入,只能選擇列表中有的記錄

allowBlank:false,

listeners:{

select:function(){

alert(this.value);

}

}

});

checkupperson.on('beforerender',function(){

this.value=376;

});

第二種方式:

var depCombo = new Ext.form.ComboBox({

fieldLabel:'部門',

allowBlank: false,

allowNegative: false,

triggerAction: 'all',

displayField :'depName',

valueField :'depId',

id:'test',

store: new Ext.data.JsonStore({

fields: ['depId','depName'],

url: '../combobox.do?action=getDepartmentComboBox',

autoLoad : true,

listeners :{

load:function(){

Ext.getCmp('test').setValue(17);

}

} //在此加一個這個玩意,就可以了,呵呵,是在jsonstore中加的,注意

}),

editable :false

});

第三種方式:

bachLoad([xnStore,xqStore,jsStore],function(success){

if(!success) {

Ext.Msg.alert('提示','數據加載失敗,請聯系系統管理員!');

}else{

xn ='${DQXN}';

xq ='${DQXQ}';

Ext.getCmp('cmb_xq').setValue('${DQXQ}');

xqmc = Ext.getCmp('cmb_xq').getRawValue();

}

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/150975.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息