0

上部にドッキングされたツールバーに検索フィールドを含むナビゲーションビューがあるタブパネルに検索アイコンを追加しました。私の質問は、検索フィールドから値を取得し、一致するものを見つけるためにストアに送信したいということです。一致するものがあれば、それらのアイテムを検索フィールドツールバーの下のリストに表示したいです。私は多くの検索を行いましたが、私に役立つ関連例が見つかりません。どんな種類の助けもいただければ幸いです。

これが私の見解です..

items: [{
    xtype: 'toolbar',
    docked: 'top',
    style: 'background:darkgray',
    items: [{
            xtype: 'searchfield',
            placeHolder: 'Search... '
    }, {
            xtype: 'button',
            iconCls: 'search',
            iconMask: true,
            ui: 'confirm',
            action: 'search-app'


    }]
 }, {//here I want to show my filtered data 
    xtype: 'list',
    itemId: 'searchlist',
    store: 'SearchItemStore',
    onItemDisclosure: true,
    emptyText: 'No data found!',
    itemTpl: '{Name}'
 }]

私のコントローラーでは、ボタンを呼び出して、次のような関数を追加しています。

mySearchFunction: function(element , e, eOpts) { 
    var searchPattern = this.getSearchFieldAction().getValue(); 
    var store = Ext.getStore('ProductStore');
    // here I want to set the param that has to send to the store proxy..I am really not sure how this works 
    store.find(fieldName, value, [startIndex], [anyMatch], [caseSensitive], [exactMatch] ); 
}
4

1 に答える 1

0

あなたが探しているのはstore.filter()方法です。

store.filter('fieldToSearch', searchPattern);

こちらのドキュメントを参照してください: http://docs.sencha.com/touch/2.2.1/#!/api/Ext.data.Store-method-filter

もう 1 つの選択肢はstore.filterBy()、関数を引数として取る です。関数が を返す場合true、そのレコードはフィルタリングされたストアに含まれます。ドキュメント: http://docs.sencha.com/touch/2.2.1/#!/api/Ext.data.Store-method-filterBy

于 2013-07-24T18:03:23.450 に答える