3

如何将 specialkey 事件添加到 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);
    }
});
4

1 回答 1

4

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

 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                                
    });
}
于 2013-04-30T07:00:13.093 回答