Диаграмма Extjs4 не отображает правильные данные - PullRequest
0 голосов
/ 19 июня 2011

Я создал простую линейную диаграмму в Extjs4 для одного из моих проектов, и диаграмма не отображает правильные данные.

enter image description here

Диаграмма использует то же хранилище, что и сетка, но не показывает те же данные.Есть ли способ отследить источник проблемы, если не исправить ее вообще?

Ниже приведен код, который я использую для создания диаграммы.: «Время» для оси X, но появляется ошибка «date.getFullYear не является функцией»)

Ответы [ 2 ]

1 голос
/ 21 июня 2011

Для date.getFullYear () я подозреваю, что ваша строка даты не может быть преобразована в объект Date. Не могли бы вы опубликовать другой код поддержки, в идеале полный код Store and Grid? Если вы хотите использовать временную ось, вам нужно преобразовать строку даты в объект даты через что-то вроде:

Ext.define('Your.Model', {
   extend: 'Ext.data.Model',
   fields: [
      {name: 'dateString', type: 'string'},
      {name: 'date',
          convert: function(value, record) {
              year = value.substring(0,4);
              month = value.substring(5,7).replace(/^[0]+/g,"");
              day = value.substring(8,10).replace(/^[0]+/g,"");
              hour = value.substring(11,13).replace(/^[0]+/g,"");
              // etc for min, sec, millis
              return new Date(year, (month - 1), day, hour, 0, 0);
          }
      }
   ]

});

Для отладки диаграммы, отображаемой некорректно, я бы поместил объект вашей диаграммы в var и в точку останова Firebug после назначения этой переменной, чтобы иметь возможность проверять объект js диаграммы и просматривать данные внутри.

0 голосов
/ 14 июля 2011

У меня была похожая проблема при использовании Time.Просто исправили это, определив типы полей моей модели:

fields: [{name: 'date', type: 'Date'}, {name: 'close', type: 'float'}]

Что касается того, почему ваша диаграмма строится так, я тоже это понял, я понял, что json передает ее в виде строки, поэтому мне нужно определить и ее как float.Я исправил это на php-конце, сделав его сначала плавающим, прежде чем передать его как json.

...