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 :

id à la place des valeurs dans les comboBox


Sujet :

Ext JS / Sencha

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 16
    Points : 7
    Points
    7
    Par défaut id à la place des valeurs dans les comboBox
    Bonjour,

    Les comboBox affiche de façon aléatoire l'id au lieu du texte que doit voir l'utilisateur. J'ai essayé dans tous les sens rien à faire. Les combos ont bien un hiddenName différent et pour tous il y a les propriétés suivantes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      displayField: 'libelle',
      valueField: 'id',
      storeField: ['id', 'libelle'],
    .
    Est-ce que quelqu'un à déjà eu ce problème... et l'a résolu...

  2. #2
    Membre averti
    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
    Points : 330
    Points
    330
    Par défaut
    bonjour,

    mets plutot

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    displayField: 'libelle',
    store:mon_store // enlevé le reste ...
    et indique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fields: ['id', 'libellé'],
    dons ton store

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Désolé pour le délai de réponse mais j'étais en déplacement.
    J'ai fais ce que tu m'a conseillé mais sans résultat malheureusement.
    As-tu déjà eu un problème de ce type avec les listes déroulantes ext ? J'ai l'impression d'être le seul à avoir ce pb..

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2010
    Messages : 394
    Points : 1 212
    Points
    1 212
    Par défaut
    Bonjour,

    Comment sont "formatées" tes données ? Sous la forme d'un tableau, en XML ou en JSON ? Dans le cas d'un tableau, voici ce que tu devrais avoir :

    Pour la combo

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    valueField: 'id',
    displayField: 'libelle',
    store: monStore
    pour le store

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    store = new Ext.data.ArrayStore({
         fields: ['id', 'libelle'],
         data: mesDonnees // sous la forme d'un tableau donc
    });
    En espérant avoir aidé...

    Mako

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Bonjour,
    Merci pour ta réponse.
    Je vais être complet dans l'exposé de mon problème (ce qui n'était pas le cas désolé). J'ai créé une extension car l'appli possède une foultitude de combo et je ne voulais pas dupliquer le code dans n pages. L'extension a donc pour but d'appeler une page serveur (en dur pour l'instant mais que je rendrai paramétrable) qui en fonction du paramètre liste fait le retour xml qui convient.
    L'extension est appelé comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    {
      xtype: "loadListe",
      fieldLabel:fiche_article.lbl_rayon,
      hiddenName: "ray_id",
      id: "lst_rayon",
      autoFiltre: false,
      liste: "rayon",
      cls: "liste"
    }
    Voici le code de l'extension
    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
     
    Ext.namespace('Ext.tool');
    Ext.tool.loadliste = Ext.extend(Ext.form.ComboBox,
    {
      url : 'loadListe.aspx',
      displayField: 'libelle',
      valueField: 'id',
      autoFiltre: true,
      storeField: ['id', 'libelle'],
      //param pour l auto completion
      queryParam: 'char_filtre',
      minChars : 1,
      initComponent : function()
      {
        Ext.tool.loadliste.superclass.initComponent.call(this);
     
        this.initStore();
     
        if(!this.autoFiltre)
        {
          this.triggerAction =  'all';
          this.forceSelection = true;
          this.editable = false;
          this.mode = 'local';
          this.store.load();
        }
        else
        {
          this.triggerAction =  'all';
          this.mode = 'remote';
        }
      },
     
      onRender: function(ct, position)
      {
        Ext.tool.loadliste.superclass.onRender.call(this, ct, position);
      },
     
      initStore: function()
      {
        this.store = new Ext.data.Store
        (
          {
            reader: new Ext.data.XmlReader
            (
              {
                record: 'row'
              },
              this.storeField
            ),
            proxy: new Ext.data.HttpProxy
            (
              {
                url: this.url
              }
            ),
            baseParams:{liste: this.liste}
          }
        )
      }
    });
     
    Ext.reg('loadListe', Ext.tool.loadliste);

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2010
    Messages : 394
    Points : 1 212
    Points
    1 212
    Par défaut
    Juste une idée comme ça : es-tu sûr que tes données XML sont correctement créées ? Je veux dire avec des balises "id" et "libelle" contenues dans une balise "row".

    Mako

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Oui voici un exemple de retour par loadListe.aspx

    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
     
    <?xml version="1.0" encoding="UTF-8"?><dataset>
      <row>
        <id>2</id>
        <libelle>En stock</libelle>
        <sta_code>STOCK</sta_code>
        <sta_desc>En stock</sta_desc>
      </row>
      <row>
        <id>1</id>
        <libelle>Réimpression</libelle>
        <sta_code>REIMP</sta_code>
        <sta_desc>En réimpression. Disponible sous 2 mois</sta_desc>
      </row>
      <row>
        <id>0</id>
        <libelle>Rupture</libelle>
        <sta_code>RUPT</sta_code>
        <sta_desc>En rupture de stock</sta_desc>
      </row>
    </dataset>

Discussions similaires

  1. [AC-2010] Recuperer des valeurs dans les editbox et combobox du ruban
    Par Jeff__06 dans le forum Access
    Réponses: 2
    Dernier message: 24/10/2013, 09h09
  2. ajouter des valeurs dans une ComboBox (zone de liste modifiable)
    Par ghosty04 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/12/2008, 18h11
  3. DataGridView et format des valeurs dans les cellules
    Par saultapt dans le forum Windows Forms
    Réponses: 5
    Dernier message: 17/06/2008, 16h55
  4. Réponses: 2
    Dernier message: 07/03/2007, 17h12
  5. Réponses: 28
    Dernier message: 07/06/2006, 13h30

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