1

rallygrid オブジェクトと rallytagpicker オブジェクトを作成しました。私がやりたいことは、ラリーグリッドをフィルタリングして、選択したタグのいずれかを含むアイテムのみを含めることです。これを達成するためにいくつかの異なる方法を試しましたが、うまくいかないようです。タグピッカーのコードは次のとおりです。

this.tagPicker = this.add({
    xtype: 'rallytagpicker',
    autoExpand: true,
    listeners: {
        select: this._onTagSelect,
        scope: this
    }
});

したがって、私が抱えている最初の問題は、ドロップダウンからタグを選択したときにselectが実際に起動していないように見えることです。次に、起動したら、グリッドのフィルターを更新して、これにアイテムを含める方法を教えてください。新しいタグ?

現在、次のようなフィルター オブジェクトを使用してフィルター処理しています。

{ property: 'Tags.Name', operator: 'contains', value: 'My Tag' }

タグごとに個別のフィルター オブジェクトを用意するのではなく、フィルター処理するすべてのタグを配列に格納し、配列全体を一度に渡すことができれば便利です。それは可能ですか?

4

1 に答える 1

0

代わりにchangeイベントを使用するとどうなりますか?

フィルタを作成するには、タグごとにフィルターをまとめて作成します。

Rally.data.QueryFilter.or([
    {
        property: 'Tags.Name',
        operator: '='
        value: 'My Tag'
    },
    {
        property: 'Tags.Name',
        operator: '='
        value: 'My Tag2'
    },
]);

次に、グリッドを更新するには、その更新メソッドを使用して、新しいフィルターを渡します。

grid.refresh({
    filters: [
        //filters here
    ]
});
于 2012-07-30T21:14:23.720 に答える