xtype: 'combobox' in Shopware.apps.Order.view.detail.Position

Hi Leute

Ich habe im Backend in den Bestelldetails bei den Positionen das Grid um eine Spalte "Lieferanten erweitert. Hier soll jederzeit der Lieferant geändert werden können zu der Position.

Dazu habe ich für den supplier einen eigenen store angelegt. Soweit klappt alles. Wenn ich das Feld editieren will, öffnet sich nun das Dropdown mit der Liste der hersteller, aber es ist nicht der Wert vorgegeben, sondern leer mit dem Hinweis „Das Feld darf nicht leer sein“.

Irgendwie habe ich etwas übersehen, konnte aber nicht den Grund finden.

 

var MDSupplier= {
            header: 'Lieferant',
            dataIndex:'md_supplier',
            flex:1,
            width: 180,
            editor: {
                xtype: 'combobox',
                editable: true,
                queryMode: 'local',
                allowBlank: false,
                store: grid.supplierStore,
                displayField: 'name',
                valueField: 'id',
            },

            renderer: me.supplierColumn,


        };

 

 

supplierColumn: function(value, metaData, rowRecord) {
        var me = this,record;

        if (rowRecord.raw.supplierID === Ext.undefined) {
            return rowRecord.raw.supplierID;
        }

        record = me.supplierStore.getById(parseInt(rowRecord.raw.supplierID));

        if (record instanceof Ext.data.Model) {
            return record.get('name');
        } else {
            return parseInt(rowRecord.raw.supplierID);
        }
    }

Merkwürdig ist auch, dass in der Methode supplierColumn beim ersten Aufruf auch das value nicht gesetzt ist, daher habe ich hier auf rowRecord zurückgegriffen.