使用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,將不勝感激。
感謝您的快速回答! - 但是,拋棄我的是文檔中的評論:「當用於過濾商店時,您不必自己創建對象,只需傳入過濾器配置:」...然後,您鏈接到的示例以及文檔中的其他示例通過創建過濾器對象來顯示ANDs和ORS - 但我沒有看到如何在不創建過濾器對象的情況下通過具有多個AND和OR的過濾器配置。這不可能嗎? – 2013-02-21 00:17:53
我看了更多,並找不到任何示例,其中多個查詢過濾器配置傳遞給商店。 - 而是我最終創建了一個帶有多個過濾器的過濾器對象,並將其傳遞給商店。 ...我的假設是配置被傳入的[示例](http://developer.help.rallydev.com/apps/2.0p4/doc/#!/api/Rally.data.QueryFilter)只有在配置沒有OR過濾器的情況下,商店纔是。 @ mark-w – 2013-02-21 01:51:36
正確 - 默認是AND條件,所以如果你使用OR,你必須變得更加複雜。 – 2013-02-21 01:53:19