Pour créer un ticket support, commencez par une recherche

Modifier la valeur saisie dans une grille - Grid JS onEditCell

Pré-requis

Suivre le guide Grille produits : Ajouter un champ depuis la table ps_product_lang pour créer le champ "Infos livraison"

Objectif

Nous souhaitons modifier la valeur du champ "Infos livraison" saisi pour le tronquer s'il dépasse 100 caractères et ensuite envoyer cette valeur au serveur pour l'enregistrer dans la base de données.

Mise en place

Dans le panneau des Propriétés Avancées à droite :

- sélectionner le menu Grid JS onEditCell et renseignez :

// onEditCell(stage,rId,cInd,nValue,oValue)
// rId is the row ID
// cInd is the column INDEX
// nValue is the new value
// oValue is the old value

if (nValue != oValue) {
    idxDeliveryInfo = cat_grid.getColIndexById('infos_livraison');
    if (cInd == idxDeliveryInfo) {
        cat_grid.cells(rId, idxDeliveryInfo).setValue(cat_grid.cells(rId, idxDeliveryInfo).getValue().substr(0, 100));
    }
}

Relancez complètement la page de Store Commander pour tester les nouvelles modifications.

Pour adapter ce champ à la grille des déclinaisons,le code suivant est à utiliser :

// onEditCell(stage,rId,cInd,nValue,oValue)
// rId is the row ID
// cInd is the column INDEX
// nValue is the new value
// oValue is the old value

if (nValue != oValue) {
    idxDeliveryInfo = prop_tb._combinationsGrid.getColIndexById('infos_livraison');
    if (cInd == idxDeliveryInfo) {
        prop_tb._combinationsGrid.cells(rId, idxDeliveryInfo).setValue(prop_tb._combinationsGrid.cells(rId, idxDeliveryInfo).getValue().substr(0, 100));
    }
}