如何阻止单击的组合框清除其值?

时间:2017-02-23 07:05:45

标签: extjs combobox

我正在尝试编辑组合框值。但是当我单击网格单元格旧值消失时,我想保留一个并且还避免用户从组合框本身中选择值而不是那些值以外的值在下拉列表中

我如何实现这两件事。

{
    text: 'Food Items',
    xtype: 'gridcolumn',
    dataIndex: 'food_lister',
    flex: 1,
    renderer: function (value) {
        console.log()
        if (Ext.isNumber(value)) {
            var store = this.getEditor().getStore();
            return store.findRecord('foodid', value).get('fooddescp');
        }
        return value;
    },
    editor: {
        xtype: 'combobox',
        allowBlank: true,
        displayField: "fooddescp",
        valueField: "foodid",
        queryMode: 'local',
        mapperId: 'getfooddescrip',
        lastQuery: '',
        forceSelection: true,
        listeners: {
            expand: function () {
                var call = this.up('foodgrid[itemId=fooditemgrid]').getSelectionModel().selection.record.data.foodname.trim();
                this.store.clearFilter();
                //this.store.filter('call',call);
                this.store.filter({
                    property: 'call',
                    value: call,
                    exactMatch: true
                })
            }
        }
    }
}

As soon as I click that cell I data gets reset to null.How can i retain the already present data , without getting that to null

See this pic_new

1 个答案:

答案 0 :(得分:1)

在组合中使用editable : false检查更新的示例

  

click here

编辑:根据您的评论,如果您仍想使用可编辑的true并限制除商店以外的值,则必须在单元格编辑事件中处理它{/ 1}}

validateedit

以上代码基于我的示例。请查看我的fiddle

中的运行示例