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 :

Combox dans editorGrid


Sujet :

Ext JS / Sencha

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 12
    Points : 17
    Points
    17
    Par défaut Combox dans editorGrid
    Bonjour,

    Je vous expose mon problème :

    J'ai une grille éditable dans laquelle se trouve une combobox lorsque je suis en édition. Lorsque je sélectionne un élément dans la combobox et que je repasse en mode "non édition" dans la grille, la valeur marquée dans celle-ci est la valuefield de l'élément sélectionné dans la combobox alors que j'aimerai que ce soit la valeur du textfield qui soit récupérée. Comment faire ?

    J'ai bien essayé de mettre la fonction ci-dessous comme indiqué dans la faq extjs mais j'obtiens une erreur m'indiquant que "rec.fields.items[e.column].editor.store" est indéfini.

    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
    validateedit: function(e)
                    {
                      var rec = e.record;    
     
                      //looking into the store of the combo
                      var store = rec.fields.items[e.column].editor.store;
     
                      if(store && store instanceof Array && store[0] instanceof Array)
                      {
                        for(var opt = 0; opt < store.length; opt++)
                        {
                          var option = store[opt];
     
                          if(option[0] == e.value)
                          {
                            //setting the value to the 'textual' value of the selection
                            //using rec.set(fieldName, newValue) to set it how you want
                            rec.set(e.field, option[1]);
     
                            //return false so that the EditorGridPanel thinks it was
                            //an invalid edit and does not do the change itself
                            return false;
                          }
                        }
                      }
                    }
    D'avance merci pour votre aide

  2. #2
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    j'ai un grid dont les colonne sont definies ainsi
    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
        columns: [
        new Ext.grid.RowNumberer(),
        {
            id: 'name',
            header: controller.locale.grid.header.name,
            dataIndex: 'cmp_name',
            width: 250,
            sortable: true,
            editor: {
                xtype: 'textfield',
                allowBlank: false
            }
        },{
            header: controller.locale.grid.header.type,
            dataIndex: 'site_id',
            width: 100,
            sortable: true,
            renderer: function(value, metaData, record, rowIndex, colIndex, store) {
                return record.data.site_code;
            },
            editor: {
                xtype: 'combo',
                store: controller.model.site,
                displayField: 'label',
                valueField: 'value',
                allowBlank: true,
                //typeAhead: false,
                //editable:false,
                mode: 'local',
                forceSelection: true,
                triggerAction: 'all'
            }
        }
    comme tu peux le voir la colonne type utilise un combo pour éditor
    pour afficher la valeur voulu dans le data j'utilise un renderer perso

    A+JYT

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

Discussions similaires

  1. combox dans un editorgridpanel
    Par abraxis dans le forum Ext JS / Sencha
    Réponses: 2
    Dernier message: 20/04/2011, 14h49
  2. [Langage/Algorithme] Copier résultat Combox dans Memo
    Par seiken02 dans le forum C++Builder
    Réponses: 7
    Dernier message: 25/03/2010, 22h45
  3. VBA Combox dans Word
    Par Djohn dans le forum VBA Word
    Réponses: 2
    Dernier message: 28/08/2008, 14h43
  4. Charger un combox dans un formulaire
    Par h_adil dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/07/2008, 22h59
  5. copier le contenu de deux combox dans un richtextbox
    Par mstic dans le forum Windows Forms
    Réponses: 5
    Dernier message: 16/03/2007, 10h50

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