2013-10-18 18 views
1

我在使用「And」和「or」子句的過濾器時遇到問題。基本上我想有文本「移動」或「測試」在2.0rc1中添加「And」和「or」的過濾器

我想任何像這樣的userstories:

    _createFilters:function(){ 
        var filter = Ext.create('Rally.data.QueryFilter', 
        { 
         property: 'Name', 
         operator: 'contains', 
         value: 'Mobile' 
        } 
       ); 

        filter = filter.or(Ext.create('Rally.data.QueryFilter', 
        { 
         property: 'Name', 
         operator: 'contains', 
         value: 'Testing' 
        })); 

        return filter.toString(); 

       }, 
       _makeDefectsStore:function(ref){ 
        Ext.create('Rally.data.WsapiDataStore',{ // will fetch userstories that have defects 
         model: 'User Story', 
         limit: "Infinity", 
         context: { 
          project :'/project/xxxx', 
          projectScopeUp: false, 
          projectScopeDown: true 
         }, 
         autoLoad: true, 
         fetch:['FormattedID','Name','Defects','Feature'], 
         filters: [this._createFilters()], 
         scope:this, 
         listeners: { 
          load: this._onAllDefectsLoaded, 
          scope: this 
         } 
        }); 
       } 

這裏過濾器返回null,否則所有的userstories都沒有過濾返回。請提供建議/修復

回答

1

沒有立即彈出作爲與不正確的過濾器結構,你可以儘管試試這個簡單的版本,看看你會得到什麼:

Ext.create('Rally.data.WsapiDataStore', { 
    model : 'UserStory', 
    filters : Rally.data.QueryFilter.or([{ 
     property : 'Name', 
     operator : 'contains', 
     value : 'Testing' 
    },{ 
     property : 'Name', 
     operator : 'contains', 
     value : 'Mobile' 
    }]) 
});