2011-09-02 203 views
2

代碼:煎茶觸摸filterBy商店

this.searchField = new Ext.form.Text({ 
      displayField: 'name', 
      valueField: 'name', 
      editable: true, 
      forceSelection: true, 
      triggerAction: 'all', 
      emptyText: 'Search...', 
      selectOnFocus: true 
    }); 

this.searchButton = new Ext.Button({// The button press will invoke the search action 
     text: 'Go', 
     handler: this.searchButtonTap, 
     scope: this 
    }); 

    this.topToolbar = new Ext.Toolbar({ 
        items: [ 
       { xtype: 'spacer' },  
        this.searchField, 
        this.searchButton, 
        { xtype: 'spacer' }, 
       ] 
     }); 

searchButtonTap: function() { 

     var searchText = this.searchField.getValue(); 
     console.log(searchText); 
     //console.log(this.myappsList.store.getCount()); 
     console.log(this.myappsList.store.filter('name', searchText)); 
     //this.myappsList.store.filter(searchText); 

    }, 
在我的模型

我有四個字段:

姓名,年齡,性別,Charecteristic

什麼,我想在這裏是:

將我的數據庫的內容顯示在頁面的列表中,因爲列表很長,我想搜索,當用戶在搜索字段中輸入查詢並按下搜索按鈕時,searchButtonTap處理程序被調用,它試圖過濾和顯示名稱類似於查詢中的名稱列表我也試過filterBy,但也沒有工作。請讓我知道最新錯誤?

謝謝。

回答

5

你可以試試這個方法:

searchButtonTap: function() { 
     var searchTerm = this.searchField.getValue(); 
     if (searchTerm) { 
      this.myappsList.store.filterBy(function(record){ 
      var fieldData = record.data.city.toLowerCase().indexOf(searchTerm); 
      if (fieldData > -1) 
       return record; 
      }); 


     } 
     else { 
      this.myappsList.store.clearFilter(); 
      } 
    },