Я должен заполнить значения в правом поле мультиселектора в элементе item. Сначала мне нужно сохранить его пустым, а затем по выбору элемента в поле со списком над ним, я должен заполнить значения соответственно. Я пробовал это и его сбой в данный момент, и ничего не кажется неправильным. Вот фрагмент кода: «сброс()Как динамически присваивать значение магазину в ExtJS Itemselector?
var userList = GetUserList();
var aoiList = GetAOIList();
var userAOIs = "";
var selectedUser="";
var userStore = new Ext.data.ArrayStore({
fields: ['user'],
data: userList
});
var aoiStore = new Ext.data.ArrayStore({
fields: ['aoiList'],
data: aoiList
});
var userAOIStore = new Ext.data.ArrayStore({
fields: ['userAOIs'],
data: userAOIs
});
var aafp = new Ext.FormPanel({
width : 350,
frame : true,
autoHeight : true,
bodyStyle : 'padding: 2px 5px 0 2px;',
labelWidth : 100,
defaults : {
anchor : '95%',
allowBlank : false,
msgTarget : 'under'
},
items : [ {
xtype : 'combo',
fieldLabel : 'Choose User',
emptyText: "Select User...",
id : 'userId',
name : 'user',
multiSelect: false,
store: userStore,
displayField: 'user',
mode: 'local',
editable: false,
typeAhead: true,
triggerAction: 'all',
listeners:{select:{fn:function(combo, value) {
selectedUser = value.get('user');
userAOIs = myAOIs(selectedUser);
userAOIStore = new Ext.data.ArrayStore({
fields: ['userAOIs'],
data: userAOIs});
aafp.getForm().findField("itemselector").reset();
}}
},
value : selectedUser
},{
xtype: 'itemselector',
name: 'itemselector',
fieldLabel: 'AOISelector',
imagePath: 'ext-3.4.0/examples/ux/images/',
drawUpIcon:false,
drawDownIcon:false,
drawTopIcon:false,
drawBotIcon:false,
multiselects: [{
width: 250,
height: 200,
store: aoiStore,
displayField: 'aoiList'
},{
width: 250,
height: 200,
store: userAOIStore,
displayField: 'userAOIs',
valueField: 'userAOIs'
}]
}]
Сначала я сомневался в« aafp.getForm() FindField (»itemselector)» вызов и думал, что там могут быть некоторые другие функции динамически перезагрузить элементы в форме вместо сброса, который может использоваться для сброса/стирания данных в полях, но сброс - перезагрузка содержимого. Просьба представить свои материалы, как это можно было бы достичь?
Благодаря
В моем коде я попробовал это: aafp.getForm(). FindField ("itemselector"). Store = userAOIStore; . Aafp.getForm() FindField ("itemselector") сброса(). Это изменяет хранилище, которое я вижу в режиме отладки, но не обновляю его. – Shariq
Что вы пытаетесь сделать, просто добавьте записи в магазин? Я смущен, почему вы вызываете сброс? – codemonkeyww
Не могли бы вы объяснить с помощью примера. В моем случае я должен заменить содержимое магазина, поэтому я назначал. И сброс не влияет на содержимое, я вызывал его для обновления моего представления, чего не происходит. – Shariq