extjs4.1 - Extjs 4.1 如何通过mvc为所有字段添加一个specialkey事件

标签 extjs4.1

如何将特殊键事件添加到 from.panel 的所有字段?在此表单面板中,每个字段都采用一种方法来搜索我的商店我的商店名称“S01I009001”, 有谁能够帮我? 为我奇怪的英语道歉。

Ext.define('${pkgName}.v01i009001.SV01I00900104' , {    
    extend              : 'Ext.form.Panel',
    alias               : 'widget.sv01i00900104',
    requires            : ['Ext.form.field.Text'],
    id                  : 'sv01i00900104',
    padding             : '0 0 0 0',  

    defaults: {        
        activeRecord    : null,
        border          : true, 
        layout          : 'hbox',        
        fieldDefaults   : {
            anchor      : '100%',
            labelAlign  : 'right'
        }
    },

    initComponent       : function(){        
        Ext.QuickTips.init();
        Ext.form.Field.prototype.msgTarget = 'qtip';         
        me          = this; 
        me.items    = [{
            xtype                 : 'fieldcontainer',
            combineErrors         :  true,                    
            defaults              : {
                layout            : 'fit',
                margin            : '3 5 1 5',
                hideLabel         :  false,                
                labelAlign        : 'top'
            },
            items: [{
                xtype             : 'numberfield',
                name              : 'id',
                fieldLabel        : 'REBATE ID:',
                width             :  100,                        
                minValue          :  0,
                mouseWheelEnabled :  false,
                hideTrigger       :  true,
                decimalPrecision  :  0,
                keyNavEnabled     :  false                       
            },{
                xtype             : 'datefield',
                name              : 'endDate',
                fieldLabel        : 'End Date:',
                flex              :  1,
                format            : 'M d, Y',
                altFormats        : 'd/m/Y|M d, Y h:i A',
                id                : 'enddt-sv01i00900104',
                vtype             : 'daterange',
                startDateField    : 'startdt-sv01i00900104'                                          
            }]
        }];       
        me.callParent(arguments);
    }
});

最佳答案

我认为这是您的解决方案。如果我说对了

 init: function() {

            this.control({'sv01i00900104 *' : {
                    specialkey: function (field, el) {
                        if (el.getKey() == Ext.EventObject.ENTER || el.getKey()==el.TAB){
                            this.filter()
                        }
                    }
                }   
    }); 
  },    

filter:function(){    
    var form        = Ext.getCmp('sv01i00900104').getForm(),
    idValue         = form.findField('id').getValue(),
    endDate         = form.findField('endDate').getValue(),
    filters         = new Array();                     
    if(idValue){
        filters.push({property:'id', value:idValue});
    }                    
    if(endDate){
        filters.push({property:'endDate', value:endDate});
    }  
    var  store  = Ext.data.StoreManager.lookup(storeName);
     store.clearFilter();
     store.loadPage(1, {
      filters  : array                                
    });
}

关于extjs4.1 - Extjs 4.1 如何通过mvc为所有字段添加一个specialkey事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16293890/

相关文章:

extjs - 修改 initComponent() 中的项目

javascript - 隐藏 ExtJs 4.1 TreePanel 中的节点

javascript - ExtJS--带有 queryMode "local"的组合框的 typeAhead --无法查询子字符串

javascript - ExtJS 4.1 - 检索嵌套 JSON 的 hasOne 信息

javascript - 如何解决 ExtJS 4.1 Combobox pageSize 错误?

javascript - ExtJs 中的间距在 IE 和 FireFox 中是不同的

javascript - 我如何开始学习 Ext Js ?我首先可以做什么?

c# - 如何使用start和limit进行分页

javascript - 复选框选择模型 - 检查列标题文本

Extjs 4.1 如何选择组合中的第一项