使用2.0p4 JavaScript SDK,我正在尝试重新创建我之前使用1.30 JavaScript SDK创建的网格应用程序,并且在创建复杂过滤器时遇到问题(使用多个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”AND的项目未关闭。 (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,但是我在文档中丢失了如何在同一个配置中创建AND和ORs过滤器......
任何人都可以给出如何为App SDK 2.0创建使用多个AND和OR的过滤器配置的方向,将不胜感激。
答案 0 :(得分:1)
退房:
与Stackoverflow一起回答:
Rally App SDK 2.0: Cannot modify QueryFilter object after initial creation
这显示了使用Rally.data.QueryFilter准备表示多个条件的过滤器数组的一个很好的例子。