Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Ext JS / Sencha
Ext JS / Sencha Ext JS / Sencha Forum d'entraide sur les frameworks Ext JS et Sencha. Avant de poster : FAQ ExtJS / Sencha, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/12/2011, 09h35   #1
Invité de passage
 
Femme
Administrateur de base de données
Inscription : décembre 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2011
Messages : 6
Points : 2
Points : 2
Par défaut extJS 4 et format de date sur l'axe X

Bonjour

J'utilise extJS 4
je crée un fichier JSON en PHP à partir d'une table postgres

Code :
{"resultval":[{"date":878598000,"valeur":"0"},{"date":999813600,"valeur":"0.72"},{"date":999900000,"valeur":"0.857"},{"date":999986400,"valeur":"0.872"},{"date":1000159200,"valeur":"0.91"},{"date":1001800800,"valeur":"1.398"},{"date":1001887200,"valeur":"0.723"},{"date":1001973600,"valeur":"1.6"}]}
Je récupère l'info dans mon file.js

Code :
1
2
3
4
var fields = [
		{name: 'date', type:'date', dateFormat:'timestamp'},
		{name: 'valeur', type: 'float'}
		];
puis
Code :
1
2
3
4
Ext.define('Model', {
        extend: 'Ext.data.Model',
        fields: fields
    });
Puis le store
Code :
1
2
3
4
5
6
7
8
9
var store = Ext.create('Ext.data.JsonStore', {
        model: 'Model',
        proxy: {
            type: 'ajax',
            url: 'valeur.php',
            reader: {type: 'json',root: 'resultval'}
        }
    });
    store.load();
Le char avec la date en axe des X de fonctionne pas. Le char prend ces données comme des string et non comme des valeurs time

Pouvez- m'indiquer où est l'erreur? ou me donner un exemple équivalent?
En vous remerciant par avance
lulug-29
lulug-29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 12h09   #2
Membre chevronné
 
Avatar de kenny.kev
 
Homme
Inscription : janvier 2007
Messages : 575
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2007
Messages : 575
Points : 690
Points : 690
Envoyer un message via MSN à kenny.kev
en ajoutant un renderer voici un exemple :
Code :
1
2
label: {                     renderer: Ext.util.Format.numberRenderer('0,0') 
                },
bien entendu il faut que tu prenne le format date
kenny.kev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 13h32   #3
Invité de passage
 
Femme
Administrateur de base de données
Inscription : décembre 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2011
Messages : 6
Points : 2
Points : 2
Citation:
Envoyé par kenny.kev Voir le message
en ajoutant un renderer voici un exemple :
Code :
1
2
label: {                     renderer: Ext.util.Format.numberRenderer('0,0') 
                },
bien entendu il faut que tu prenne le format date
**************************
J'ai réglé le problème de la façon suivante : fichier ***.js

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
Ext.onReady(function () {
    var chart;
function dateParse(v, record){
return iso_date(v);
}
 
function iso_date(string) {
var date = new Date();
var parts = String(string).split(/[- :]/);
date.setFullYear(parts[0]);
date.setMonth(parts[1]);
date.setDate(parts[2]);
date.setHours(parts[3]);
date.setMinutes(parts[4]);
date.setSeconds(parts[5]);
date.setMilliseconds(0);
return date;
}
 
 
var fields = [
       		{name: 'date', convert: dateParse},
		{name: 'valeur', type: 'float'}
		];
 
 
    Ext.define('Model', {
        extend: 'Ext.data.Model',
        fields: fields
    });
 
    var store = Ext.create('Ext.data.JsonStore', {
        model: 'Model',
        proxy: {
            type: 'ajax',
            url: 'valeur.php',
            reader: {type: 'json',root: 'resultval'}
        }
    });
    store.load();
Puis :

Code :
1
2
3
 Ext.create('Ext.Window', {
  ... 
type char...
Et les axes définis de la manière suivante où date est bien de type Time :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 axes: [{
                type: 'Numeric',
                grid: true,
                minimum: 0,
                maximum: 3,
                position: 'left',
                fields: ['valeur'],
                title: 'Valeur',
              grid: {
                    odd: {
                        fill: '#dedede',
                        stroke: '#ddd',
                        'stroke-width': 0.5
                    }
                }
            }, {
                type: 'Time',
                position: 'bottom',
                fields: 'date',
                title: 'Jours',
                dateFormat: 'm y',
 		label: {rotate: {degrees: -70},},
                groupBy: 'year,month,day',
                aggregateOp: 'sum',
 
                constrain: true,
                fromDate: new Date(2001, 9, 1),
                toDate: new Date(2002, 11, 7)
            }],
            series: [{
etc...
lulug-29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h26.


 
 
 
 
Partenaires

Hébergement Web