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 :

Afficher une date dans un grid Panel


Sujet :

Ext JS / Sencha

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 59
    Points : 55
    Points
    55
    Par défaut Afficher une date dans un grid Panel
    Bonjour,
    j'ai un objet JSON de ce format :
    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
    var modelJson=Ext.data.Record.create(
            [ {
                name: 'archive'
            },
     
            {
                name: 'coffreId'
            },
     
            {
                name:'dateDebit',
                type: 'date'
            },
     
            {
                name:'depose'
            },
     
            {
                name:'enCours'
            },
     
            {
                name:'id'
            }]);
    Voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {"debit":[{"archive":0,"coffreId":-1,"dateDebit":{"date":11,"day":1,"hours":10,"minutes":14,"month":4,"nanos":150000000,"seconds":1,"time":1242029641150,"timezoneOffset":-120,"year":109},"depose":0,"enCours":25,"id":69552},{"archive":0,"coffreId":1,"dateDebit":{"date":11,"day":1,"hours":10,"minutes":14,"month":4,"nanos":995000000,"seconds":2,"time":1242029642995,"timezoneOffset":-120,"year":109},"depose":0,"enCours":0,"id":69553},{"archive":0,"coffreId":0,"dateDebit":{"date":11,"day":1,"hours":10,"minutes":14,"month":4,"nanos":847000000,"seconds":4,"time":1242029644847,"timezoneOffset":-120,"year":109},"depose":0,"enCours":0,"id":69554},{"archive":0,"coffreId":2,"dateDebit":{"date":11,"day":1,"hours":10,"minutes":14,"month":4,"nanos":470000000,"seconds":6,"time":1242029646470,"timezoneOffset":-120,"year":109},"depose":0,"enCours":0,"id":69555},{"archive":0,"coffreId":3,"dateDebit":{"date":11,"day":1,"hours":10,"minutes":14,"month":4,"nanos":94000000,"seconds":8,"time":1242029648094,"timezoneOffset":-120,"year":109},"depose":0,"enCours":0,"id":69556},{"archive":0,"coffreId":5,"dateDebit":{"date":11,"day":1,"hours":10,"minutes":14,"month":4,"nanos":820000000,"seconds":9,"time":1242029649820,"timezoneOffset":-120,"year":109},"depose":0,"enCours":0,"id":69557},{"archive":0,"coffreId":6,"dateDebit":{"date":11,"day":1,"hours":10,"minutes":14,"month":4,"nanos":686000000,"seconds":11,"time":1242029651686,"timezoneOffset":-120,"year":109},"depose":0,"enCours":0,"id":69558},{"archive":0,"coffreId":7,"dateDebit":{"date":11,"day":1,"hours":10,"minutes":14,"month":4,"nanos":555000000,"seconds":13,"time":1242029653555,"timezoneOffset":-120,"year":109},"depose":0,"enCours":0,"id":69559},{"archive":0,"coffreId":4,"dateDebit":{"date":11,"day":1,"hours":10,"minutes":14,"month":4,"nanos":381000000,"seconds":15,"time":1242029655381,"timezoneOffset":-120,"year":109},"depose":0,"enCours":0,"id":69560},{"archive":0,"coffreId":8,"dateDebit":{"date":11,"day":1,"hours":10,"minutes":14,"month":4,"nanos":274000000,"seconds":17,"time":1242029657274,"timezoneOffset":-120,"year":109},"depose":0,"enCours":0,"id":69561}]}
    Je voudrai l'afficher dans un gridPanel.
    Mais je rencontre un petit souci au niveau du champ Date.
    Dans mon gridPanel j'ai fais pour le champ date :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    {
                header: "Date Debit",
                width: 80,
                sortable: true,
                renderer: Ext.util.Format.dateRenderer("Y-m-d\\TH:i:s"),
     
                dataIndex: 'dateDebit'
            },
    Mais rien ne s'affiche à l'écran.
    Si vous pouvez m'aider.
    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,
    Je suppose que que consomme tes données avec un JsonReader.
    Je ne suis pas spécialiste EXTJS mais un petit tour dans la doc me fait penser que ce qui doit coincer dans ton code est certainement lié à la corrélation entre la définition de ton Record:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            {
                name:'dateDebit',
                type: 'date'
            },
    et les données associées:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dateDebit":{"date":11,"day":1,"hours":10,"minutes":14,"month":4,"nanos":150000000,"seconds":1,"time":1242029641150,"timezoneOffset":-120,"year":109}
    qui n'ont rien à voir avec le type date.

    Tu dois donc intervenir au niveau du renderer pour remettre tout cela d'équerre mais tu fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    renderer: Ext.util.Format.dateRenderer("Y-m-d\\TH:i:s")
    et là je suppose que cela coince, car comment passer de ta structure JSON de la date à cette fonction de formatage ?

    Comme piste, je te propose plutôt ce renderer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    renderer:function(value, metadata, record, rowIndex, colIndex, store){
    if(value == null){
    return '';
    }else{
    return Ext.util.Format.date(new Date(value.time), 'Y-m-d\\TH:i:s');
    }
    Qu'en penses tu ?

    ERE

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 59
    Points : 55
    Points
    55
    Par défaut
    Merci beaucoup pour ton aide.
    Ca a marché !!

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

Discussions similaires

  1. formatter/afficher une date dans un text_field
    Par Javix dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 06/05/2009, 10h28
  2. Réponses: 8
    Dernier message: 03/04/2009, 17h59
  3. Afficher Une Date Dans la Page
    Par matoma16 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 01/08/2007, 18h50
  4. Afficher une date dans un JLabel
    Par yasmine* dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 01/05/2007, 13h11
  5. [JTable] Afficher une date dans un tableau / Renderer
    Par isak dans le forum Composants
    Réponses: 3
    Dernier message: 11/07/2005, 17h09

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