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 :

Ajout/Suppression de lignes d'une grille sur la DB


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Par défaut Ajout/Suppression de lignes d'une grille sur la DB
    Bonjour,

    J'ai entre mes mains une grille chargée à partir d'une base de données et contenant des données sur des personnes. Je souhaite maintenant pouvoir ajouter/supprimer des personnes de cette liste.

    Je suis actuellement sur la fonction de suppression. J'ai réussi à supprimer dynamiquement des lignes de ma grille, c'est à dire qu'elles disparaissent lorsque je les coche et que je clique sur le bouton de suppression, mais elles ne sont en revanche pas supprimée de ma base de données, et réapparaissent donc à chaque chargement de la page :S

    Quelqun sait comment répercuter la suppression d'une ligne de la grille sur ma base de données ?

    J'ai pensé à une Ext.Ajax.request menant sur un script PHP qui fait un DELETE FROM, mais cela ne marche pas

    Merci d'avance

  2. #2
    Membre Expert
    Avatar de eric.pommereau
    Homme Profil pro
    Ingénieur, pôle cartographie
    Inscrit en
    Décembre 2004
    Messages
    715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur, pôle cartographie
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2004
    Messages : 715
    Par défaut
    Bonjour,

    Tu peux faire comme ça :

    1. récupérer la ligne sélectionnée (getRowSelect())
    2. Dans cette méthode tu as accès au record (l'enregistrement) sous jacent. grâce à ça tu pourras récupérer l'id de ton enregistrement (si l'id est passé dans les données que tu envoie du serveur et si le store est bien configuré).
    3. une fois l'id récupéré tu peux, comme tu le propose, invoquer un script (en ajax) qui se chargera de la suppression.

    Cette solution est la plus simple, mais je te conseille de regarder du côté des exemples de binding ou des grilles éditables pour tout ce qui est mise à jour :

    http://extjs.com/deploy/dev/examples...ith-classes.js

    @++

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Par défaut
    Bonjour, j'ai effectivement trouvé le moyen de créer une interaction entre mon script et ma DB.

    Je me pose néanmoins encore une question...

    Lors de la suppression, j'utilise la fonction store.remove avec en paramètre la ligne sélectionnée pour supprimer dynamiquement ma ligne de la grid.

    Néanmoins, pour l'ajout, je fais la même chose avec store.add, mais l'ajout ne s'effectue pas de suite dans la grid, je suis obligé de recharger la page pour voir apparaître une nouvelle ligne...

    Sais-tu à quoi cela peut être dû ?

  4. #4
    Membre extrêmement actif
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Par défaut
    en fait je me permet de dire que la methode utilise ici est un peu compliquer. voila ce que moi je fait:
    lors d'un click sur le bouton supprimer j'envois au fichier php une commande de suppression pour qu'il supprime SQLment parlant l'enregistrement correspondant puis je recharge la grid. resultat tu n'as pas besoin de supprimer dans la grid. un petit example:
    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
     
    [{
                    text:'supprimer',
                    iconCls: 'delpg',
                    formBind:true, 
                    handler:function(){
                        if(!confirm("supprimer un client supprimera aussi tout les contrats avec le client,etes vous sure ?")) return;
                        //customerId=Ext.get('hidden_customer_id').dom.value;
                        Ext.Ajax.request({
                            url:"./customerList1.php?cmd=delCustomer&customerId="+customerId+"&"+Math.random(),
                            success:function(response,opts){
                                //Ext.MessageBox.alert("Message","Operation completed.");
     
     
                                store_users.load();
                                customer_info_form.getForm().reset();
                            },
                            failure:function(response,opts){
                                alert("error");
                            }
                        });
     
     
                    }
     
            }]
    donc ce qui se trouve dans Ext.Ajax.request regle tout ton probleme d'un seul coup

Discussions similaires

  1. Ajouter une ligne dans une table sur clic d'un bouton
    Par onesat dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 22/04/2014, 18h03
  2. Ajout et suppression de ligne dans une matrice
    Par Ryma_d3 dans le forum MATLAB
    Réponses: 2
    Dernier message: 27/01/2012, 19h35
  3. Réponses: 2
    Dernier message: 26/01/2007, 15h28
  4. Réponses: 2
    Dernier message: 09/01/2007, 19h57
  5. suppression des ligne ds une table
    Par roger.pouamoun dans le forum Oracle
    Réponses: 6
    Dernier message: 28/07/2006, 12h00

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