请帮忙。
我要展示我的 displayValue
在网格中。
我找到了解决方案 here ,但我不明白如何使用它。我的代码:
columns:[...,{
header: 'Product',
id: 'combo',
locked: true,
dataIndex: 'prod_id',
editor: {
xtype: 'combobox',
store: new Ext.data.Store({
fields: ['value','display'],
data: prod_list
}),
displayField: 'display',
valueField: 'value'
}
},...]
解决方案
Ext.util.Format.comboRenderer = function(combo){
return function(value){
var record = combo.findRecord(combo.valueField || combo.displayField, value);
return record ? record.get(combo.displayField) : combo.valueNotFoundText;
}
}
{
header: 'Товар',
id: 'combo',
locked: true,
dataIndex: 'prod_id',
editor: MyEditor,
renderer: Ext.util.Format.comboRenderer(MyEditor)
}
我试图在列数组之外定义编辑器。
var MyEditor = new Ext.form.field.ComboBox({
store: new Ext.data.Store({
fields: ['value','display'],
data: prod_list
}),
displayField: 'display',
valueField: 'value'
});
一切都很好,但我不能编辑它 .问题是什么?
对不起我的英语不好。
最佳答案
var myStore = new Ext.data.Store({
fields: ['value','display'],
data: prod_list
});
...
editor: {
xtype: 'combobox',
store: myStore,
displayField: 'display',
valueField: 'value'
},
renderer: function(val){
index = myStore.findExact('value',val);
if (index != -1){
rs = myStore.getAt(index).data;
return rs.display;
}
}
关于combobox - 网格中的 Extjs4 组合框 displayValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8416008/