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 :

Insertion de données dans un grid depuis une bdd


Sujet :

Ext JS / Sencha

  1. #1
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut Insertion de données dans un grid depuis une bdd
    Bonjour,
    Je rencontre un soucis dans l'utilisation d'un grid sous extjs, en effet mon soucis viens de la l'insertion de mes données dans le data grid.

    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
     
    Ext.onReady(function(){
     
    	    Ext.QuickTips.init();
     
    	    var xg = Ext.grid;
     
    	    // shared reader
    	    var reader = new Ext.data.ArrayReader({}, [
    	       {name: 'Produit'},
    	       {name: 'Commandé', type: 'float'},
    	       {name: 'Livré', type: 'float'},
    	       //{name: 'pctChange', type: 'float'},
    	       //{name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'},
    	       {name: 'Solde'},
    	       {name: 'Famille'},
    	       {name: 'desc'}
    	    ]);
     
    	    var grid = new xg.GridPanel({
    	        store: new Ext.data.GroupingStore({
    	            reader: reader,
    	            data: xg.dummyData,
    	            sortInfo:{field: 'Produit', direction: "ASC"},
    	            groupField:'Famille'
    	        }),
     
    	        columns: [
    	            {id:'Produit',header: "Produit", width: 60, sortable: true, dataIndex: 'Produit'},
    	            {header: "Commandé", width: 20, sortable: true, dataIndex: 'Commandé'},
    	            {header: "Livré", width: 20, sortable: true, dataIndex: 'Livré'},
    	            {header: "Solde", width: 20, sortable: true, dataIndex: 'Solde'},
    	            {header: "Famille", width: 20, sortable: false, dataIndex: 'Famille' },
    	            //{header: "Last Updated", width: 20, sortable: true, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'}
    	        ],
     
    	        view: new Ext.grid.GroupingView({
    	            forceFit:true,
    	            groupTextTpl: '{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Items" : "Item"]})'
    	        }),
     
    	        frame: true,
    	        width: 800,
    	        height: 450,
    	        collapsible: true,
    	        animCollapse: false,
    	        title: 'Mes Commandes',
    	        iconCls: 'icon-grid',
    	        renderTo: 'test_grid'
    	    });
    	});
     
     
     
     
    	Ext.grid.dummyData = [val];
    }
    La variable val provient d'un appel ajax le code php jouer est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $famille = $Tab["WCFLFA"];
    $lib_produit = $Tab["WCPLPR"];
    $Qte_cmd = $Tab["WCPQCD"];
    $Unite_cmd = $Tab["WCPUQC"];
    $Qte_lv = $Tab["WCPQLV"];
    $Unite_lv = $Tab["WCPUQT"];
    $Solde = $Tab["WCPSLD"];
     
    $var = array($lib_produit,$Qte_cmd.$Unite_cmd,$Qte_lv.$Unite_lv,$Solde,$famille) ;
    $data .= json_encode($var).",";
    et en gros ce que je récupère depuis cette page ce trouve sous cette forme :

    ["Solution azot","20.000T.","10.000T.","10.000","Engrais"],["Solution azot","23.456T.","12.543T.","9.087","Engrais"],["Buggy","12.000L.","0L.","12.000","Phytosanitaire"],["Graines de colza","2.000D.","1.000D.","1.000","Semences & plans"],

    Je passe donc cette chaîne à "Ext.grid.dummyData" je me suis dis que les " était gênant alors j'ai remplacer avec un regexp les " par des ' mais idem mon tableau s'affiche mais vide.

    J'ai également essayé
    var reponse = Ext.decode(val);
    var store = new Ext.data.ArrayStore(val);

    mais idem dans tous les cas je me retrouve avec un "this.data is undefined"
    dans la console d'erreur.

    quelqu'un aurais un solution pour récupérer proprement les données d'une bdd ou éventuellement ce qui cloche dans mon code?

    Merci.
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 151
    Points : 154
    Points
    154
    Par défaut
    Déjà, il y a une virgule en trop. Ca peut facilement faire planter Ext.
    Sinon, tu dis que tu récupères tes données en Ajax. Comment fais-tu exactement ? Le problème vient peut-être de là, puisqu'il te dit que this.data est undefined (donc que les données sont invalides).

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/04/2012, 10h17
  2. Sauvegarder des données dans un fichier depuis une Base de Données
    Par ankou2005 dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 0
    Dernier message: 14/02/2011, 18h51
  3. POSTer des données dans l'admin depuis une vue
    Par dchango dans le forum Django
    Réponses: 5
    Dernier message: 17/01/2011, 15h30
  4. Réponses: 11
    Dernier message: 02/12/2010, 15h35
  5. Réponses: 3
    Dernier message: 26/04/2006, 11h52

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