在网格和编辑窗口的组合框中显示输入值。 Extjs6

时间:2019-05-29 13:36:04

标签: javascript extjs

我有一个示例fiddle,其中我使用Ext.window.Window编辑网格条目。 值的id显示在网格本身中,在编辑窗口中为空。

对于网格中的组合框,我做到了并且有效

{
            text      : 'type',
            dataIndex : 'type',
            flex: 1,
            renderer: function (v, p, record) { 
                    return record.get('type');
                },
        },

对于表单编辑中的组合框,我添加到了组合框listeners:{ render: function(combo)}

{                   
                xtype: 'combobox',
                store: {
                    type: 'type-store'
                },                  
                fieldLabel: 'Type',
                displayField: 'name',
                valueField: 'id',
                queryMode: 'remote',
                publishes: 'name',
                name: 'name',
                listeners:{
                'render': function(combo){
                    console.log(combo);
                    combo.setValue();//How  set current value
                }
            }

但是我不明白如何正确设置当前值?

谢谢

1 个答案:

答案 0 :(得分:1)

首先,为了链接组合的值,您的数据data.json必须包含“类型”的ID,而不仅仅是描述:

{
    "id": 1, "id_type":3 , "type": "Третий", "mytextfield": "Текстовое значение"
},

如果需要,您实际上可以使用“名称”,但是您还必须将组合valueField更改为“名称”。

在控制器中,首先加载组合存储(或自动加载),然后使用窗体来加载记录,而不是使用Windows的view_model:

console.log(wind.lookup("mycombo").getStore().load());
wind.down('form').loadRecord(record);

我通过这些更改修改了您的 fiddle