2016-06-24 3 views
0

У меня есть STORE, который выглядит следующим образом:Ext.JS - Сетка не нагружает магазин значение

Ext.define('Bcks.store.SeriBaskiStore', { 
      extend : 'Ext.data.Store', 
      storeId : 'seriBaskiStore', 
      alias : 'widget.seribaskistore', 
      model : 'Bcks.model.SeriBaskiModel', 
      remoteSortFilterUseMapping : true, 
      pageSize : 25, 
      proxy : { 
       type : 'ajax', 
       api : { 
        read : 'seriBaski/getSeriBaski.json', 
        create : 'seriBaski/saveSeriBaski.json', 
        update : 'seriBaski/updateSeriBaski.json', 
        destroy : 'seriBaski/removeSeriBaski.json' 
       }, 
       writer : { 
        type : 'json', 
        allowSingle : false 
       } 
      }, 
      resetSorters : function() { 
       var sorters = [{ 
          property : 'baskiTarihi', 
          direction : 'ASC' 
         }]; 
       this.sorters.clear(); 
       this.sorters.addAll(this.decodeSorters(sorters)); 
      } 
     }); 

Когда я запрос GET на seriBaski/getSeriBaski.json я получить набор данных следующим образом:

{"total":10,"data":[{"seriBaskiId":-31,"baskiTarihi":"25/06/2016","baskiSekli":{"value":"1","aciklama":"Tacir","aciklama2":"TACİR","objectValue":"1"},"siparisListesi":null,"version":0},{"seriBaskiId":-32,"baskiTarihi":"25/06/2016","baskiSekli":{"value":"1","aciklama":"Tacir","aciklama2":"TACİR","objectValue":"1"},"siparisListesi":null,"version":0},{"seriBaskiId":-33,"baskiTarihi":"25/06/2016","baskiSekli":{"value":"3","aciklama":"Tacir-Hamiline","aciklama2":"TACİR-HAMİLİNE","objectValue":"3"},"siparisListesi":null,"version":0},{"seriBaskiId":-34,"baskiTarihi":"25/06/2016","baskiSekli":{"value":"4","aciklama":"Tacir Olmayan-Hamiline","aciklama2":"TACİR OLMAYAN-HAMİLİNE","objectValue":"4"},"siparisListesi":null,"version":0},{"seriBaskiId":-35,"baskiTarihi":"25/06/2016","baskiSekli":{"value":"1","aciklama":"Tacir","aciklama2":"TACİR","objectValue":"1"},"siparisListesi":null,"version":0},{"seriBaskiId":-36,"baskiTarihi":"25/06/2016","baskiSekli":{"value":"2","aciklama":"Tacir Olmayan","aciklama2":"TACİR OLMAYAN","objectValue":"2"},"siparisListesi":null,"version":0},{"seriBaskiId":-37,"baskiTarihi":"25/06/2016","baskiSekli":{"value":"3","aciklama":"Tacir-Hamiline","aciklama2":"TACİR-HAMİLİNE","objectValue":"3"},"siparisListesi":null,"version":0},{"seriBaskiId":-38,"baskiTarihi":"25/06/2016","baskiSekli":{"value":"4","aciklama":"Tacir Olmayan-Hamiline","aciklama2":"TACİR OLMAYAN-HAMİLİNE","objectValue":"4"},"siparisListesi":null,"version":0},{"seriBaskiId":-39,"baskiTarihi":"25/06/2016","baskiSekli":{"value":"1","aciklama":"Tacir","aciklama2":"TACİR","objectValue":"1"},"siparisListesi":null,"version":0},{"seriBaskiId":-40,"baskiTarihi":"25/06/2016","baskiSekli":{"value":"2","aciklama":"Tacir Olmayan","aciklama2":"TACİR OLMAYAN","objectValue":"2"},"siparisListesi":null,"version":0}],"success":true} 

У меня есть PANEL, который включает в себя GRID.

Ext.define('Bcks.view.panel.SeriBaskiPanel', { 
      extend : 'Ext.panel.Panel', 
      alias : 'widget.seribaskipanel', 
      title : 'Seri Baski Paneli', 
      titleAlign : 'center', 
      layout : 'border', 

      items : [{ 
         xtype : 'seribaskigrid', 
         name : 'seriBaskiGrid', 
         title : 'Seri Baski Tablosu', 
         fitToFrame : true, 
         region : 'center', 
         split : true, 
         flex : 1, 
         selectionOlsun : true, 
         filtreOlsun : true, 
         pdfHidden : false 
        }], 

      initComponent : function() { 
       console.warn(this.id, " yüklendi (initComponent)"); 
       this.callParent(arguments); 
      } 
     }); 

На мой CONTROLLER Я пытаюсь извлечь содержимое магазина следующим образом:

Ext.define('Bcks.controller.SeriBaskiController', { 
    extend : 'Ext.app.Controller', 
    models : ['SeriBaskiModel'], 
    stores : ['SeriBaskiStore'], 
    views : ['panel.SeriBaskiPanel', 'grid.SeriBaskiGrid'], 

    refs : [ { 
     ref : 'seriBaskiPanel', 
     selector : 'seribaskipanel' 
    }, { 
     ref : 'seriBaskiGrid', 
     selector : 'seribaskipanel > seribaskigrid[name=seriBaskiGrid]' 
    } ], 

    init : function() { 
     this.control({ 
      'seribaskipanel' : { 
       'beforerender' : this.beforeRenderSeriBaskiPanel, 
       'activate' : this.onPageStartSeriBaskiPanel, 
       'deactivate' : this.onPageEndSeriBaskiPanel 
      }, 
      'seribaskipanel > seribaskigrid[name=seriBaskiGrid]' : { 
       'beforerender' : this.beforeRenderSeriBaskiGrid 
      } 
     }); 
    }, 

    beforeRenderSeriBaskiPanel : function(tabpanel, newCard, oldCard) { 
    }, 
    onPageStartSeriBaskiPanel : function(panel, eopts) { 
     console.start(arguments); 

     var grid = panel.down('seribaskigrid'); 

     console.log("SERİ BASKI GRID ", grid); 

     var store = grid.store.load(); 

     store.currentPage = 1; 
     console.end(arguments); 
    }, 
    onPageEndSeriBaskiPanel : function() { 
    }, 
    beforeRenderSeriBaskiGrid : function(grid) { 
     console.start(arguments); 
     var me = this, store = Ext.create('Bcks.store.SeriBaskiStore', { 
        storeId : 'mySeriBaskiGrid' 
       }); 
     store.on('beforeload', me.beforeLoadKurumTahsilat, this); 
     if (Ext.isNNDefined(grid.down('pagingtoolbar'))) { 
      grid.down('pagingtoolbar').bindStore(store); 
     } 
     grid.reconfigure(store); 
     console.end(arguments); 
    }, 
    beforeLoadKurumTahsilat : function(st, op, opt) { 
     console.start(arguments); 
     var me = this, ep = st.proxy.extraParams; 
     console.end(arguments); 
    } 

}); 

Однако console.log("SERİ BASKI GRID ", grid); возвращает пустой магазин. Любые идеи о том, как получить содержимое магазина из сетки?

ответ

1

Существуют различные способы, с помощью которых вы можете получить ссылку сетки и магазин

1) Используя Itemid

{ 
        xtype : 'seribaskigrid', 
        itemId:'seribaskigridItem', 
        name : 'seriBaskiGrid', 
        title : 'Seri Baski Tablosu', 
        fitToFrame : true, 
        region : 'center', 
        split : true, 
        flex : 1, 
        selectionOlsun : true, 
        filtreOlsun : true, 
        pdfHidden : false 
       } 

вар сетки = Ext.ComponentQuery.query ('# seribaskigridItem «) [0];
grid.getStore();

2) var grid = panel.down ('grid');

3) Если селектор в порядке, вы можете использовать:

this.getSeriBaskiGrid() getStore();.

+0

Я пробовал эти параметры. Они по-прежнему возвращают магазин с пустым массивом элементов. – supaplexy

+0

Вы уже загрузили свой магазин? Потому что способы, которые я вам сказал, дадут вам ссылку на магазин, но перед этим вам либо придется загрузить его, либо использовать ссылку и загрузить ее в контроллер. – Saloo

+0

Да, я загружаю хранилище в методе контроллера 'onPageStartSeriBaskiPanel' – supaplexy

Смежные вопросы