ExtJs Combox无法正确呈现

时间:2017-03-06 08:22:33

标签: extjs

我正在尝试在网格中获取一个combox,在编辑器函数中选择一些东西。但每次渲染值为0。保存后,它可以正常工作。

Ext.define('Shopware.apps.Order.view.detail.BackPosition', {
override: 'Shopware.apps.Order.view.detail.Position',

initComponent: function () {
    var me = this;
    me.mdsupplierStore = Ext.create('Shopware.apps.Order.store.MDSupplier').load();
    me.callParent(arguments);

},

getColumns: function(grid) {
    var me          = this;

    var col     = me.callOverridden(arguments);
    var md_supplier =   {};
    grid.mdsupplierStore = me.mdsupplierStore;

    var MDSupplier= {
        header: 'Lieferant',
        dataIndex: 'md_supplier',
        flex:2,
        renderer: me.supplierColumn,
        editor: {
            xtype: 'combobox',
            editable: false,
            queryMode: 'local',
            allowBlank: false,
            store: grid.mdsupplierStore,
            displayField: 'name',
            valueField: 'id',

        }

    };


    col =  Ext.Array.insert(col, 9, [MDSupplier]);
    return col;
},

supplierColumn: function(value, metaData, rowRecord) {

    var me = this;
    console.log(value);
   //value is 0 when I click the editor combobox <---
},

});

型号:

Ext.define('Shopware.apps.Order.model.MDSupplier', {
    extend:'Shopware.data.Model',

idProperty : 'id',

fields:[

    { name : 'id', type: 'int'},
    { name : 'name', type: 'string'}
]

});

商店:

Ext.define('Shopware.apps.Order.store.MDSupplier',{
configure: function() {
    return { controller: 'MDSupplier' };
},
/**
 * Define that this component is an extension of the Ext.data.Store
 */
extend: 'Ext.data.Store',

/**
 * Auto load the store after the component
 * is initialized
 * @boolean
 */
autoLoad: false,

/**
 * Define the used model for this store
 * @string
 */
model: 'Shopware.apps.Order.model.MDSupplier',

proxy : {
    type : 'ajax',
    url: '/backend/MDSupplier/load',

    reader:{
        type: 'json',
        root: 'data',
        totalProperty: 'total'
    }
}

});

任何人都可以告诉我,我做错了什么?

1 个答案:

答案 0 :(得分:0)

我明白了。数据的处理是错误的,因此该字段每次都是NULL