2013-08-22 84 views
2

我在我的WSAPI查詢中作爲過濾器傳遞了一個函數,但它似乎對返回的結果沒有影響。是否有使用此方法無法過濾的字段?filterFn似乎對WSAPI查詢沒有影響

Ext.define('CustomApp', { 
    extend: 'Rally.app.App', 
    componentCls: 'app', 

    launch: function() { 
     Ext.create('Rally.data.WsapiDataStore', { 
      model  : 'TestCase', 
      fetch  : ['TestCases'], 
      filters  : [ 
       function(item) { 
        return item.FormattedID.indexOf('10') !== -1; 
       } 
      ] 
     }).load({ 
      callback: function(records) { 
       //All records returned, no filter applied 
      } 
     }); 
    } 
}); 

回答

0

我也希望你的代碼能夠工作,但也許回調發生在應用客戶端過濾器之前。這裏是應用過濾器的代碼的修改版本,並且只有一個記錄按預期返回:

Ext.define('CustomApp', { 
    extend: 'Rally.app.App', 
    componentCls: 'app', 
    launch: function() { 

     var myStore = Ext.create('Rally.data.WsapiDataStore', { 
      model  : 'TestCase', 
      fetch  : ['FormattedID'] 
     }); 
     myStore.load({ 
      callback: function(records) { 
       myStore.filterBy(function(item) { 
        return item.get('FormattedID').indexOf('10') !== -1; 
      }); 
      console.log(myStore.getRange()); //one record 
      } 
     }); 
    } 
}); 
+0

感謝您的回覆尼克!這是偉大的,但它不是我想要的。我不打算在我的店鋪加載商店後過濾結果,我正在尋找一種方法來過濾結果服務器端。基本上我試圖重新創建的是LBAPI提供的'in'過濾器運算符。由於WSAPI沒有提供這個功能,我希望通過向服務器傳遞一個函數來實現它。看起來這可能不是可能的:( –

+0

不客氣,Conner。我假設你打算使用Rally.data.lookback.SnapshotStore,如果你想從LBAPI獲取數據。 – nickm

相關問題