2013-09-25 73 views
0

我試圖在列表視圖中顯示一組項目。服務器使單個文件中的所有項目都屬於各種子類別,併爲每個子類別分配了類別ID。目前,如果未應用過濾器,我有商店可以導入所有數據。如果是,則顯示屬於該特定子類別的項目。動態加載存儲數據並在列表中顯示

我的商店代碼如下:

Ext.define('RestaurantGlobal.store.SubCategoryColumnsStoreNonVeg', { 
    extend: 'Ext.data.Store', 

    requires: [ 
     'RestaurantGlobal.model.ItemColumns' 
    ], 

    config: { 
     autoLoad: false, 
     model: 'RestaurantGlobal.model.ItemColumns', 
     storeId: 'SubCategoryColumnsStoreNonVeg', 
     proxy: { 
      type: 'ajax', 
      url: 'data/NonVegItemsColumnsStore.json', 
      reader: { 
       type: 'json', 
       rootProperty: 'Item' 
      } 
     }, 
     filters: [{ 
        property: 'SubCategory_id', 
        value: /0c9b01f6b3b2493b907a42e07010064800001/ 
       }] 
    }, 
}); 

我的應用程序有一個類別看到顯示類別列表,然後,子類別查看包含屬於該已被選擇的類別的項目。 我想根據用戶在上一視圖中選擇的類別動態過濾從商店接收的數據,並將其顯示在列表中。我的列表查看代碼如下:

Ext.define('RestaurantGlobal.view.SubCategories', { 
    extend: 'Ext.navigation.View', 
    xtype: 'SubCategories', 

config: { 
    layout: { 
     type: 'card' 
    }, 
    items:[ 
     { 
      xtype: 'container', 
      title: 'Category Name', 
      styleHtmlCls: 'maincontainer', 
      styleHtmlContent: true, 
      layout: { 
       type: 'vbox' 
      }, 
      items: [ 
         { 
          xtype: 'container', 
          title: 'Non-Veg', 
          margin: '0 10 0 10', 
          items: [ 
           { 
            xtype: 'list', 
            id: 'nonVegList', 
            autoPaging: true, 
            height: '100%', 
            store: 'SubCategoryColumnsStoreVeg', 
            itemTpl: [ 
             '<div>{Image}{Name}</div>' 
            ], 
           }, 
          ] 
         },   
         { 
           xtype: 'container', 
           items: [ 
            { 
            xtype: 'button', 
            cls: 'btn', 
            docked: 'bottom', 
            margin: '0 0 0 0', 
            text: 'Place Order' 
            } 
           ] 
         } 
        ] 
      } 
     ] 
    } 
}); 

我的控制器具有分配到上一個類別視圖的on item tap功能。該功能在這裏寫:

onCustomDataViewItemTap: function(dataview, index, target, record, e, eOpts) { 
    categoryId = record._data.id; 

    var NonVegStore =  Ext.create('RestaurantGlobal.store.SubCategoryColumnsStoreNonVeg'); 
    // clear all existing filters 
    NonVegStore.clearFilter(); 
    NonVegStore.filter('SubCategory_id', '/' + categoryId + '/'); 
    NonVegStore.load(); 
    var NVList = this.getNonVegList; 
    NVList.setStore(NonVegStore); 

    var SubCategories = Ext.create('RestaurantGlobal.view.SubCategories'); 
    Ext.Viewport.add(SubCategories); 
    Ext.Viewport.setActiveItem(SubCategories); 
}, 

在我加入過濾器,重載的存儲和使用列表中使用它,但我得到一個錯誤,指出「setStore」方法不可用。任何人都可以請幫助我實現動態正確的過濾器?

回答

0

我認爲這個問題是在獲取列表,請更改爲

VAR的NVList = this.getNonVegList();

相關問題