Je souhaite filtrer un magasin en sélectionnant une valeur dans la liste déroulante. lorsque je sélectionne la première valeur, il ne filtre pas, mais sur la sélection anyother valeur 2ème fois il fonctionne bien mon magasin a autoLoad = true voici mon codeEXTJS: Le magasin de filtres n'apparaît pas en premier clic sur le combo
xtype: 'combo'
,fieldLabel: 'Online Type'
,name:'OnlineType'
,id:'cmbOnlineType'
,store: common.getStore(accounts20.dataForms.onlinePayments._storeOnlineType, accounts20.dataForms.onlinePayments)
,displayField:'OnlineType'
,valueField:'OnlineType'
,mode:'local' // important property when using store
,typeAhead: true
,triggerAction: 'all'
,selectOnFocus:true
,allowBlank:false
,forceSelection:true
,editable:true
,tabIndex:4
,width : 188
,listeners:{
select:function(){
if(Ext.getCmp('onlinePay-hdnMode').value!="E")
{
Ext.getCmp('onlinePay-cmbChequeNo').clearValue();
Ext.getCmp('onlinePay-cmbChequeNo').getStore().removeAll();
Ext.getCmp('onlinePay-cmbCrAccount').clearValue();
}
var store = Ext.getCmp('onlinePay-cmbCrAccount').getStore();
if(this.getValue()=="Cheque" || this.getValue()=="Internet/Mobile")
{
Ext.getCmp('onlinePay-chkIncCharges').setValue(false);
if(this.getValue()=="Internet/Mobile")
{
Ext.getCmp('onlinePay-cmbChequeNo').disable();
Ext.getCmp('onlinePay-chkIncCharges').disable();
}else{
Ext.getCmp('onlinePay-cmbChequeNo').enable();
Ext.getCmp('onlinePay-chkIncCharges').enable();
}
//Filter store on bank accounts
store.filter([
{
property : 'AccountTypeId',
value : 'B',//Bank Accounts
anyMatch : true, //optional, defaults to true
caseSensitive: false //optional, defaults to true
} ,
//filter functions can also be passed
{
fn : function(record) {
return record.get('AccountTypeId') == 'B';
},
scope: this
}
]);
}else if(this.getValue()=="Cash"){
Ext.getCmp('onlinePay-chkIncCharges').setValue(true);
Ext.getCmp('onlinePay-chkIncCharges').disable();
Ext.getCmp('onlinePay-cmbChequeNo').disable();
//Filter store on cash accounts
store.filter([
{
property : 'AccountTypeId',
value : 'C',//Cash Accounts
anyMatch : true, //optional, defaults to true
caseSensitive: false //optional, defaults to true
} ,
//filter functions can also be passed
{
fn : function(record) {
return record.get('AccountTypeId') == 'C';
},
scope: this
}
]);
}
}//end of select function
}//end of listener
Je passe environ 2 heures à essayer de comprendre pourquoi mon filtre ne fonctionne pas, vous aimez m'a sauvé, merci! – igor