ExtJS: Как правильно отобразить диаграмму?

У меня есть пользовательская панель и диаграмма в ней, Search gridPanel и Controller, чтобы проверить, нажмите Search raw. Контроллер, который я использую, собирает информацию о кликах из gridPanel raw и записывает ее в магазин. После нажатия на raw, информация загружается в хранилище, я знаю, что все сделано хорошо из-за ответа console.log для store.load(), и он показывает мне все данные, которые мне нужно использовать, но диаграмма не хочет отображаться. Вот фрагменты:

контроллер:

    this.control({
            'Search': {  //gridPanel component where we check information
                selectionchange: this.SearchSelectionChange
            }
        });
    },

    SearchSelectionChange: function(arg, records) {

        if (records.length > 0) {

            var me = this;
            var record = records[0];
            me.code = record.data.dataset_code; //getting code from raw

                me.store = Ext.create('Project.store.MarketDataStore'); //loading our store
                me.store.getProxy().extraParams = {
                    code: me.code  //applying code that we got from Search grid for MarketDataStore
                };
                me.store.load(function(records, success, options){ 
                console.log(records); // shows me all data i want, it working correctly 
                    if(records == null){Ext.Msg.alert('Error', 'Error');} 
                });

            var chart = Ext.create('Project.view.Chart'); //Now i think Chart must be loaded?
            chart.redraw(); //after this still no data in chart
    }

Панель: (предварительная загрузка диаграммы при визуализации страницы)

    Ext.define('Project.view.Panel', {
          extend: 'Ext.panel.Panel',
          requires: 'Project.view.Chart',
          alias: 'widget.ChartPanel',
          autoShow: true,
          layout: 'fit',
          items: [{
            xtype: 'ProjectChart'
          }]
    });

И часть компонента Chart:(серии и оси хороши, проверено на жестко закодированных данных)

    Ext.define('Project.view.Chart', {
    requires:    ['Ext.chart.axis.Category','Ext.chart.axis.Numeric','Ext.chart.series.Line','Ext.util.Point', 'Project.store.MarketDataStore'],
    extend: 'Ext.chart.Chart',
    alias: 'widget.ProjectChart',
      store: 'MarketDataStore',
    storeId: 'сhart',
    renderTo: Ext.getBody(),
    animate: true,
    autoShow: true,

Проверено на минимизированной версии приложения Chart с жестко закодированными данными в хранилище, и диаграмма хорошо загружается Основной вопрос: Как правильно загрузить / перезагрузить / перерисовать диаграмму с данными из магазина?

0 ответов

Другие вопросы по тегам