1

使用 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”的项目并且没有关闭。(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 和 OR 过滤器.....

任何人都可以就如何为使用多个 AND 和 OR 的 App SDK 2.0 创建过滤器配置提供任何指导,我们将不胜感激。

4

1 回答 1

1

查看:

Rally.data.QueryFilter

连同这个 Stackoverflow 答案:

Rally App SDK 2.0:初始创建后无法修改 QueryFilter 对象

这显示了一个使用 Rally.data.QueryFilter 准备表示多个条件的过滤器数组的好例子。

于 2013-02-21T00:02:30.600 回答