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