участник форума У меня есть одна проблема, показывающая выбранные значения combobox в столбце gridpanel.как отображать значения multiselect из combobox в gridpanel extjs 4
У меня есть gridPanel с одним столбцом, содержащим выделение ресурсов, и пользователь может выбрать несколько значений из ресурса.
ниже мой GridPanel колонок с колонкой выпадающего GridPanel колонком
{
xtype: 'gridcolumn',
dataIndex: 'resourceid',
text: 'Resource',
field: resourcecombo
},
resourcecombo
var resourcecombo = new Ext.form.ComboBox({
id: 'resourceid',
name: 'resourceid',
emptyText: 'Select resource',
displayField: 'firstname',
store: Ext.create('rms.store.employee'),
valueField: 'id',
multiSelect: true,
queryMode: 'local',
typeAhead: true
});
здесь я получаю список ресурсов, и я могу сделать MULTISELECT также. На основе этого мультиселекса идентификатор отправляется на сервер, и с ответом я хочу установить значения в столбец сетки.
но, что-то не так, я получаю правильный ответ от сервера, , но моя gridcolumn отображает только одно имя в этом столбце..
Я хочу, чтобы отобразить имя всего ресурса, выбранного, разделенных запятыми знак , как риши, йог, Hiren и т.д.
решение просто изменить GridColumn с ниже код
xtype: 'gridcolumn',
dataIndex: 'resources',
header: 'Resources name',
field: resourcecombo,
renderer: function(resources){
var result = [];
resources = resources || [];
for (var idx = 0, len = resources.length; idx < len; idx++){
var value = resources[idx].name;
if(value){
result.push(value);
}
}
return result.join(', ');
}
и изменить модель с кодом ниже
Ext.define('rms.model.taskmainModel', {
extend : 'Ext.data.Model',
fields : [
{ name : 'id', type : 'int' },
{ name : 'taskname', type: 'string'},
**{ name : 'resources', type: 'auto'},**
{ name : 'cmpname', mapping: 'project.company.cmpname'}
]
});
выше решение работает для меня, надеюсь, это может помочь кому-то.
Спасибо за вашу поддержку.
благодарю вас за ответ, моя проблема решена. Выше мое решение –