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 :

Combobox et XMLStore


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de florentB
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut Combobox et XMLStore
    Bonjour.
    Voilà une bonne journée que je me prends la tête.

    Je voudrais réaliser un truc tout con : réaliser un appel serveur pour récupérer des données et les mettre dans une combobox comme valeurs.

    Voilà où j'en suis : l'appel à mon Action struts se réalise bien, un xml m'est renvoyé ... mais je ne vois rien apparaître dans ma combo.

    Partie présentation :
    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
    var urlPatternList = './getPatternList.aspx';
     
            // 1. instanciation de la combobox de patterns
            var lignePatternFields = [
                    'id',
                    'name',
                    'tName',
                    'addMode',
                    'purge',
                    'patternFormatList'
                ];
     
            var patternStore = new  Ext.data.XmlStore({
                proxy: new Ext.data.HttpProxy({ url: urlPatternList }),
                  remoteSort: false,
                  autoSave: false,
                  autoLoad: false,
                  fields: [
                         'id',
                        'name',
                        'tName',
                        'addMode',
                        'purge',
                        'patternFormatList'
                    ],
                  record: 'pattern',
                restfull: true
            });
     
            var patternList = new Ext.form.ComboBox({  
                 fieldLabel: 'pattern à employer',  
                 store: patternStore,
                 valueField: 'id',
                 displayField: 'name',  
                 hiddenName: 'id',
                 mode: 'remote',
                 minChars : 0  
             }); 
     
            // 2. création du panel de saisie
            var centerPanel = new Ext.form.FormPanel( {
                frame:true,
                height:300,
                region : "center",
                title:'Saisie de nouveaux formats',
                labelWidth : 200,
                defaultType : 'textfield',
                items : [ {
                      xtype : "textfield",
                      fieldLabel : '<bean:message key="format.nom"/>',
                      id : "user"
                  }, 
                  patternList,
                  {
                    xtype: 'fileuploadfield',
                    id: 'file',
                    emptyText: 'Choisissez un fichier',
                    name: 'file',
                    hideLabel:true,
                    width:450,
                    allowBlank:false,
                    blankText:'Veuillez choisir un fichier',
                    buttonCfg: {
                        text: '',
                        iconCls: 'upload-icon'
                    }
                }],
                bodyBorder:true
                //buttonAlign:'center',
                //buttons: [{
                //    text: 'Valider',
                //    handler:function(){
                //        upload(principalPanel,window);
                //        
                //    }
                //}]
            });
     
     
            // 3. création du panel principal
            var principalPanel = new Ext.Panel({
                layout:'border',
                items:[centerPanel],
                id: 'formatsPanel',
                html: '<div id="pageCenterDiv"></div>'
            });
    l'url appelée répond et me renvoie le xml suivant (généré via JAXB) :
    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
     
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <ns7:patternList xmlns:ns2="http://www.example.org/patternFormat" 
                xmlns:ns4="http://www.example.org/PatternFormatList" 
                xmlns:ns3="http://www.example.org/format" 
                xmlns:ns5="http://www.example.org/formatList" 
                xmlns:ns6="http://www.example.org/pattern" 
                xmlns:ns7="http://www.example.org/PatternList">
     
            <ns7:pattern>
                <ns6:id>1</ns6:id>
                <ns6:name>Reparto_nonal</ns6:name>
                <ns6:tName>Reparto</ns6:tName>
                <ns6:addMode>H</ns6:addMode>
                <ns6:purge>0</ns6:purge>
            </ns7:pattern>
        </ns7:patternList>
    Si quelqu'un a une idée, je suis preneur, car j'ai parcouru pas mal de discussions, j'ai essayé beaucoup de choses, mais je ne suis arrivé à rien ... Après j'ai peut être raté une vache dans un couloir

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Par défaut
    bonjour,

    je crois que ca me parait normal ...

    ton fichier ne correspond en rien avec ton model de ton tableau ...
    si tu mets 'id',
    'name',
    'tName',
    'addMode',
    'purge',
    'patternFormatList'
    ...
    extjs s'attends a voir ...
    <name>..</name>
    <tName>..</tName> ...

    essayes d'implémenté& un exemple simpe ... avec 'id' et 'name'

  3. #3
    Membre chevronné Avatar de florentB
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut
    salut.

    J'ai essayé les exemples simples que tu m'as proposé ... j'étais tellement la tête dans le guidon, que je n'y avais pas pensé ... bref.

    J'ai testé en passant les chaines
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <pattern><id>1</id><name>test</name><tName>TEST</tName><addMode>H</addMode><purge></purge></pattern>
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <id>1</id><name>test</name><tName>TEST</tName><addMode>H</addMode><purge></purge>
    Aucun des deux ne fonctionne

    En rajoutant une balise pour réaliser une liste cela fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <patternList><pattern><id>1</id><name>test</name><tName>TEST</tName><addMode>H</addMode><purge></purge></pattern><patternList>
    Maintenant, il ne me reste plus ( oO ) qu'à faire fonctionner le renvoi de données correctement. Merci de ton aide

  4. #4
    Membre chevronné Avatar de florentB
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut
    Le fin mot de l'histoire ...

    Si ca peut aider certaines personnes ...
    Comme l'avais indiqué takitano, le problème venait des namespaces ...
    en effet, lors de la construction de mes objets dans le XSD, j'avais réalisé des inclusions d'autres XSD. Or, à la construction du XML via JAXB, il y a ajout de namespaces qui font planter le tout. Il faut redéfinir à chaque fois les éléments que l'on veut inclure ...

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

Discussions similaires

  1. Multi-selection dans une ComboBox ?
    Par Moloko dans le forum MFC
    Réponses: 5
    Dernier message: 07/07/2021, 17h26
  2. [VB6] [Interface] ComboBox à plusieurs colonnes
    Par mtl dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 30/03/2004, 17h35
  3. [VB6] [Interface] Grille avec combobox
    Par khany dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 15/01/2003, 09h55
  4. combobox et readonly
    Par Mac leod dans le forum C++Builder
    Réponses: 6
    Dernier message: 28/11/2002, 10h27
  5. combobox->text
    Par clovis dans le forum C++Builder
    Réponses: 18
    Dernier message: 21/06/2002, 15h43

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