Remplir le champ en fonction d'une autre zone de liste déroulante dans la grille d'extjs


Abhijeet Wagh

Dans la grille, j'ai trois colonnes sur le champ de colonne ont une zone de liste déroulante et lors du changement de valeur de la zone de liste déroulante, remplissez automatiquement une autre colonne champ respectif Comment faire cela extjs

entrez la description de l'image ici

Veuillez voir l'image ci-dessus pour le code de la grille.

Ma fonction est ci-dessous

autoPopulateCsid : function(grid, rowIndex, colIndex, item, e, record, row, action) {

/// je ne parviens pas à obtenir l'intégralité de l'enregistrement/de la ligne de grille que je modifie

}

Je dois obtenir un enregistrement en fonction afin que je puisse mettre à jour le champ d'enregistrement et ce sera automatiquement sale. Donc, lors de l'annulation, je supprimerai toutes mes modifications pour cette ligne particulière

Matheus Hatje

L' selectévénement combobox n'a pas tous ces paramètres, les paramètres qu'il reçoit réellement sont à combobox, newValue, oldValue, eOptspartir de là, vous pouvez obtenir votre "enregistrement de ligne" à partir de votre composant éditeur comme ceci.

autoPopulateCsid: function(combobox, newValue, oldValue, eOpts) {
    let myRecord = combobox.up('editor').context.record;
     myRecord.set('collateralAgreement',newValue);

}

Si vous n'utilisez pas myRecord.commit(), l'enregistrement sera marqué comme sale, après cela, si vous souhaitez supprimer ces modifications, vous pouvez les utiliser rejectChanges()dans le magasin de votre grille.

Articles connexes