Данные из store не успевают попадать в chart
Добрый день всем.
Собственно сабж: обрыл уже весь инет, но проблема упорно не решается. Мне нужно построить 3 bar chart-a, данные для которых подгружаются ajaxom. Я так понимаю проблема в том, что из-за асинхронности запросов на момент передачи store в chart этот самый store пуст. вот код для store var store = new Ext.data.Store({ fields: [{name: 'name'}, {name:'data1'}], proxy: { type: 'ajax', url: data_url, reader: 'json' }, autoLoad:true }); вот код для chart var chart = Ext.create('Ext.chart.Chart', { width: 500, height: 300, animate: true, store: store, axes: [{ type: 'Numeric', position: 'bottom', fields: ['data1'], label: { renderer: Ext.util.Format.numberRenderer('0,0') }, title: 'Sample Values', grid: true, minimum: 0 }, { type: 'Category', position: 'left', fields: ['name'], title: 'Sample Metrics' }], series: [{ type: 'bar', axis: 'bottom', highlight: true, tips: { trackMouse: true, width: 140, height: 28, renderer: function(storeItem, item) { this.setTitle(storeItem.get('name') + ': ' + storeItem.get('data1') + ' views'); } }, label: { display: 'insideEnd', field: 'data1', renderer: Ext.util.Format.numberRenderer('0'), orientation: 'horizontal', color: '#333', 'text-anchor': 'middle' }, xField: 'name', yField: ['data1'] }] }); return chart; Этот код реализован в виде функции ,куда передается url и возвращается сам chart для дальнейшего отображения. В таком виде графики не рисуются. Пробовал после определения store писать следующие: store.on('load', function(){ //код charta return chart; }); но в таком случае лезут ошибки. Если в store данные забить жестко , все 3 графика, понятное дело, сразу отображаются. Товарищи, прошу помощи, так как парюсь уже не один день и никак не получается отобразить графики. |
Часовой пояс GMT +3, время: 19:57. |