2013-02-20 27 views
1

使用2.0p4 JavaScript SDK時,我嘗試重新創建一個以前使用1.30 JavaScript SDK創建的網格應用程序,並且在創建複雜過濾器時遇到了問題ANDs和ORs)。在App SDK2.0中加入(AND和OR)查詢過濾器

下面是從1.30版的查詢:

 function itemQuery() { 
     var queryObject = { 
     key: 'defect', 
     type: 'defect', 
     fetch: 'FormattedID,Name,State,ScheduleState,SupportNumber,OpenedDate,Priority,Rank,Severity,SubmittedBy,Owner,Iteration,Release,Project', 
     query: '(((((SupportNumber contains "RNT") OR (SupportNumber contains "NS")) OR (SupportNumber contains ":")) OR (SupportNumber contains "CASE")) AND (State != Closed))', 
     project: null 
     }; 

所以我查詢包含 「RNT」 項目, 「:」, 「NS」,或 「CASE」,而不是關閉。 (SupportNumber是一個自定義字段,人們在不同的點在輸入的數據不同)

這裏是我的App.js從新版本我想創建:

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

launch: function() { 
    Rally.data.ModelFactory.getModel({ 
     type: 'Defect', 
     context: { 
      workspace: 'workspace/12345', 
      project: null, 
     }, 
     success: function(model) { 
      this.grid = this.add({ 
       xtype: 'rallygrid', 
       model: model, 
       columnCfgs: [ 
        'FormattedID', 
        'Name', 
        'SupportNumber', 
        'Priority', 
        'Severity', 
        'State', 
        'Iteration', 
        'Release', 
        'Project', 
        'Owner', 
        'SubmittedBy' 
       ], 
       storeConfig: { 
        filters: [ 
         { 
          property: 'State', 
          operator: '!=', 
          value: 'Closed' 
         }, 
         { 
          property: 'SupportNumber', 
          operator: 'contains', 
          value: 'RNT' 
         } 
        ] 
       } 
      }); 
     }, 
     scope: this 
    }); 
} 

});

我可以看到,只是通過添加過濾器的配置,您可以創建與運算,但是我如何在相同的配置創建AND和OR過濾器的文檔中很失落.....

任何方向任何人都可以提供如何爲App SDK 2.0創建過濾器配置,使用多個AND和OR,將不勝感激。

回答

1

退房:

Rally.data.QueryFilter

隨着這種回答#1:

Rally App SDK 2.0: Cannot modify QueryFilter object after initial creation

表示採用Rally.data.QueryFilter準備的過濾器表示數組的一個很好的例子多種條件。

+0

感謝您的快速回答! - 但是,拋棄我的是文檔中的評論:「當用於過濾商店時,您不必自己創建對象,只需傳入過濾器配置:」...然後,您鏈接到的示例以及文檔中的其他示例通過創建過濾器對象來顯示ANDs和ORS - 但我沒有看到如何在不創建過濾器對象的情況下通過具有多個AND和OR的過濾器配置。這不可能嗎? – 2013-02-21 00:17:53

+0

我看了更多,並找不到任何示例,其中多個查詢過濾器配置傳遞給商店。 - 而是我最終創建了一個帶有多個過濾器的過濾器對象,並將其傳遞給商店。 ...我的假設是配置被傳入的[示例](http://developer.help.rallydev.com/apps/2.0p4/doc/#!/api/Rally.data.QueryFilter)只有在配置沒有OR過濾器的情況下,商店纔是。 @ mark-w – 2013-02-21 01:51:36

+0

正確 - 默認是AND條件,所以如果你使用OR,你必須變得更加複雜。 – 2013-02-21 01:53:19