论坛会员我遇到一个问题就是在我的gridpanel列中显示组合框名称选择值。
我正在使用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
});
这里我获取了资源列表,我也可以进行多选。基于此多选项,id将发送到服务器,并且我希望将值设置为网格列。
但是,有些错误我从服务器获得了正确的响应,但我的网格列在此列中只显示了一个名称。。
我想显示所有选定资源的名称,用逗号,分隔 rishi,yogi,hiren等
溶液 只需使用以下代码更改网格列
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'}
]
});
以上解决方案对我有用,希望这对某些人有所帮助。
感谢您的支持。
答案 0 :(得分:0)
您已指定组合框上显示的名称为'firstname',此字符串将对应于其下方的值(即'id')。如果你认为它不起作用,那就考虑一下:
所以我建议选择其他方式,例如:使用其他字段显示以逗号分隔的名称