0
我需要我的控制器加载组合框的网格。Extjs 4.网格中的组合框。使用索引获取数据
'设备数据'中的状态字段(数字)应该从'设备状态'加载可能状态的状态字段并将它们显示在组合框中。
当选择一个新选项时,id应该保存在'设备数据'状态字段中。作为一个数字。
// for store 'equipment'
<?php
header("Content-type: application/json");
?>
{
"success": true,
"data": [
{
"equipment_id": 1,
"name": "screwdriver",
"status": 1
}
]
}
// store 'equipmentStatus'
<?php
header("Content-type: application/json");
?>
{
"success": true,
"data": [
{
"id": 1,
"status": "available"
},
{
"id": 2,
"status": "out of stock"
},
{
"id": 3,
"status": "not available"
}
]
}
// -----------------------------
Ext.define('Equipment.view.EquipmentGrid', {
extend: 'Ext.grid.Panel',
alias: 'widget.EquipmentGrid',
title: 'Equipment manager',
requires: [
'Ext.form.field.ComboBox',
'Ext.grid.column.CheckColumn',
'Ext.grid.plugin.CellEditing'
],
initComponent: function() {
// enable quicktips
Ext.tip.QuickTipManager.init();
this.cellEditing = new Ext.grid.plugin.CellEditing({
clicksToEdit: 1
});
Ext.apply(this, {
plugins: [this.cellEditing],
// connect store to grid
store: 'Equipments',
columns: [
{
header: 'Status',
dataIndex: 'status',
editor: new Ext.form.field.ComboBox({
typeAhead: true,
triggerAction: 'all',
store: 'EquipmentStatus'
})
}
]
});
this.callParent(arguments);
}
});
感谢您的回复,您已经理解我的问题。你的建议将是一个明显的答案。但是,当我选择我的选项时,返回的字段显示valueField(id)而不是displayField - screenshots:![select](http://www.100it.be/images/ss1.jpg)。 ![结果](http://www.100it.be/images/ss2.jpg)。 – Chris 2014-09-03 15:53:00
解决了,我已将valueField设置为'status'。这很奇怪,因为这是我第一次做的,没有奏效,肯定是一个错字或缺失的领域。无论如何,感谢您的时间,Egizeris。一切正常。 – Chris 2014-09-03 16:27:29