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