IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ext JS / Sencha Discussion :

extJS 4 et format de date sur l'axe X


Sujet :

Ext JS / Sencha

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    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 : 6
    Points
    6
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    {"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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var fields = [
    		{name: 'date', type:'date', dateFormat:'timestamp'},
    		{name: 'valeur', type: 'float'}
    		];
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Ext.define('Model', {
            extend: 'Ext.data.Model',
            fields: fields
        });
    Puis le store
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre éclairé Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Points : 816
    Points
    816
    Par défaut
    en ajoutant un renderer voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    label: {                     renderer: Ext.util.Format.numberRenderer('0,0') 
                    },
    bien entendu il faut que tu prenne le format date

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    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 : 6
    Points
    6
    Par défaut
    Citation Envoyé par kenny.kev Voir le message
    en ajoutant un renderer voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [BO XI R2] Problème de format de date sur invite
    Par jpcreux dans le forum Webi
    Réponses: 18
    Dernier message: 23/03/2018, 15h42
  2. Format de date sur pda
    Par Basicnav dans le forum Windev Mobile
    Réponses: 1
    Dernier message: 29/01/2010, 14h20
  3. [VxiR2] Format de date sur invite
    Par zimit dans le forum Designer
    Réponses: 8
    Dernier message: 09/07/2009, 13h46
  4. Réponses: 2
    Dernier message: 08/02/2008, 20h53
  5. Réponses: 1
    Dernier message: 24/05/2007, 16h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo