J'ai actuellement un GridPanel avec le plugin Ext.ux.RowEditor. Quatre champs existent dans l'éditeur de ligne: port, adresse IP, sous-réseau et DHCP. Si le champ DHCP (case à cocher) de la ligne sélectionnée est coché, je dois rendre les trois autres champs non éditables.rendant certaines cellules d'un ExtJS GridPanel non modifiable
J'ai essayé d'exécuter ce code lorsque l'événement BeforeEdit est déclenché, mais en vain ... Je n'ai trouvé des façons de faire toute la colonne non modifiable. Mon code jusqu'à présent:
this.rowEditor.on({
scope: this,
beforeedit: this.checkIfEditable
});
checkIfEditable:function(rowEditor, rowIndex) {
if(this.getStore().getAt(rowIndex).get('dhcp')) {
// this function makes the entire column un-editable:
this.getColumnModel().setEditable(2, false);
// I want to make only the other three fields of the current row
// uneditable.
}
}
Veuillez me faire savoir si des éclaircissements sont nécessaires.
Toute aide potentiellement étendre RowEditor pour atteindre la fonctionnalité cible serait grandement apprécié aussi bien!
J'ai été en mesure d'utiliser votre solution pour rendre ma colonne non éditable, ce que je recherchais. Merci! – marklar