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 アプリ SDK 2.0: 最初の作成後に QueryFilter オブジェクトを変更できない

これは、Rally.data.QueryFilter を使用して複数の条件を表すフィルターの配列を準備する良い例を示しています。

于 2013-02-21T00:02:30.600 に答える