3

EXTJsコンボをバインドするための2つの要件があります

-コンボの最初のアイテムには、「フィルタリングされていない」などの固定テキストが含まれている必要があります

-その後、データストアを上記のコンボにバインドする必要があります。データストアはcolumnAの値を繰り返しているので、コンボをバインドする前に、columnAに個別の行が含まれるようにデータストアをフィルタリングするにはどうすればよいですか。

ノート:

データストアを使用してグリッドパンルもバインドしていますが、データベースへの別の呼び出しを作成したくありません。これが、ExtJsデータストアでデータをフィルタリングするソリューションを探している理由です。

私のサンプルコードは以下の通りです

extManager1.comboFilter = new Ext.form.ComboBox({
                  editable: false
                , id: 'BaseTemplate'
                , fieldLabel: 'Base Templates'
                , name: 'BaseTemplate'
                , editable: false
                , store: extManager1.GetTemplateDetails
                , displayField:'FilterBy'
                , valueField: 'value'
                , mode: 'local'
                , boxLabel: 'BaseTemplate'
                , typeAhead: true
                , triggerAction: 'all'
                , forceSelection: true
                , selectOnFocus: true
                , emptyText:'Unfilterd'
                ,listeners:{select:{fn:function(combo, value) { 

                //This code filters the grid panel data by selected combo value
                Ext.getCmp('TemplateGridPanel').store.filter('productdisplayheading', combo.getValue());               

                }}

                }

    });
4

1 に答える 1

2

おそらく、必要なコンテンツを使用して別のストアオブジェクトを作成する必要があります。ただし、データベースからデータを再度フェッチする必要はありません。新しいストアにストア内のデータを入力できますextManager1.GetTemplateDetailsExtJSストアのcollectメソッドを見てください。これを使用して、既存のストアから個別の値をフェッチできます。

于 2011-04-11T05:09:49.063 に答える