如何将来自渲染器功能的记录用作存储在编辑器ExtJs Grid中的组合的存储区

时间:2019-04-26 08:43:07

标签: extjs extjs6-classic

我有一个带有单元格编辑插件的网格:

Ext.define('MyGrid', {
    extend: 'Ext.grid.Panel',        
    title: 'MyGrid',
    emptyText: __('no_data'),        
    plugins: {
        ptype: 'cellediting',
        clicksToEdit: 1
    },
    columns: [
        {
            text: 'Email',
            dataIndex: 'email',
            editor: {
                xtype: 'combo',
                queryMode: 'local'
            },
            renderer: function(value) {
                // this I wont to use value as store combo
                return value;
            }
        }
    ]
});

渲染器函数中的值是一个数组。如何在编辑器内部的组合中使用它?

2 个答案:

答案 0 :(得分:1)

我通过在组合框中使用小部件列解决了我的问题。

{
            xtype: 'widgetcolumn',
            flex: 1,
            text: 'Email',
            editor: {},
            widget: {
                xtype: 'combo',
                queryMode: 'local',
                displayField: 'email',
                valueField: 'email',
                editable: false,
                value: 0,
                listeners: {
                    afterrender: 'afterComboEmailRender',
                    change: 'onComboEmailChange'
                }
            }
        }

在渲染后,我将单元格记录中的存储动态设置为组合。

答案 1 :(得分:0)

我不确定该列中的值是否为用户从组合框中选择的值。如果是这种情况,并且所有列的选择值都相同,则可以为该组合框创建一个存储并将其绑定。