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

ASP.NET Discussion :

récupérer le champ changer d'un gridview l'hor d'une modification


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 126
    Par défaut récupérer le champ changer d'un gridview l'hor d'une modification
    Bonjour,
    Je ne sais pas est ce que c'est possible de faire un test sur une cellule d'un GridView l'hor de la modification, je veux savoir est ce que la valeur initiale est différente à la valeur entrée.

    Merci

  2. #2
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach (DataGridRow row in madatagrid)
    {
       if(row.DataChanged == DataChanged.Modified)
         // mon traitement
    }
    ca, c'est ce qu'on fait à la fin, quand on veut sauvegarder ou autre.

    en placant un traitement identique dans le bon event, par exemple cellEdited,(ou un truc du genre), tu dois pouvoir faire ce que tu veux.

    par contre, si tu edites, genre efface et remet le meme contenu, il se peut que ca estime que la valeur ait été modifiée

  3. #3
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    l'hor, de Dior?

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 126
    Par défaut
    Citation Envoyé par Louis-Guillaume Morand Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach (DataGridRow row in madatagrid)
    {
       if(row.DataChanged == DataChanged.Modified)
         // mon traitement
    }
    ca, c'est ce qu'on fait à la fin, quand on veut sauvegarder ou autre.

    en placant un traitement identique dans le bon event, par exemple cellEdited,(ou un truc du genre), tu dois pouvoir faire ce que tu veux.

    par contre, si tu edites, genre efface et remet le meme contenu, il se peut que ca estime que la valeur ait été modifiée
    j'ai essayé d'implemnter ça, mais il n'ya pa une propriété DataChanged pour Row!!!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    foreach (GridViewRow row in GridViewBoq)
            {
                if (row.DataChanged == DataChanged.Modified)
                {
     
                }
            }

  5. #5
    Membre éclairé Avatar de medtun.net
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Par défaut
    Tu peux aussi te servir de l'évènement RowUpdating dans lequel tu peux manipuler les collections OldValues et NewValues

  6. #6
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 126
    Par défaut
    Citation Envoyé par medtun.net Voir le message
    Tu peux aussi te servir de l'évènement RowUpdating dans lequel tu peux manipuler les collections OldValues et NewValues
    j'ai déja esseyé mais ca concerne tous les champs, mais moi je veux un seul champ.

    pour le moment j'arrive à récupérer la nouvel valeur, mais l'ancienne valeur que je dois la récupérer juste quand je clique sur "Edit" du gridview.

    est ce qu'il ya un moyen de récupérer l'index de la ligne en cliquant sur "Edit"?!!

  7. #7
    Membre éclairé Avatar de medtun.net
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Par défaut
    Citation Envoyé par kroukse Voir le message
    j'ai déja esseyé mais ca concerne tous les champs, mais moi je veux un seul champ.

    pour le moment j'arrive à récupérer la nouvel valeur, mais l'ancienne valeur que je dois la récupérer juste quand je clique sur "Edit" du gridview.

    est ce qu'il ya un moyen de récupérer l'index de la ligne en cliquant sur "Edit"?!!
    oui tu peux désigner n'importe quel champ dans la ligne...
    genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e.NewValues["monChamp"]
    en plus, tu peux récupérer l'ancienne valeur dans ce meme event :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e.OldValues["monChamp"]
    et à toi de les comparer et faire le traitement...

  8. #8
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 126
    Par défaut
    Citation Envoyé par medtun.net Voir le message
    oui tu peux désigner n'importe quel champ dans la ligne...
    genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e.NewValues["monChamp"]
    en plus, tu peux récupérer l'ancienne valeur dans ce meme event :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e.OldValues["monChamp"]
    et à toi de les comparer et faire le traitement...
    Merci beaucoup ca marche à merveille

  9. #9
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 165
    Par défaut
    Je me permet de faire remonter ce post :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    protected void ValidationModifLigne(object sender, GridViewUpdateEventArgs e)
        {
            dttableTemp.Rows[e.RowIndex]["num"] = e.NewValues["num"];
            dttableTemp.Rows[e.RowIndex]["nom"] = e.NewValues["nom"];
            gridviewTemp.EditIndex = -1;
            //Rafraichissement de ma Gridview
        }
    Ca ne marche pas car ma collection de NewValues est vide.
    Du coup quand je fait la manipulation de modifier une valeur, la ligne de la gridview (qui est bindée à dttableTemp, une DATATABLE) a le num et le nom vide.

    Merci d'avance de votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 16
    Dernier message: 29/05/2016, 19h45
  2. Réponses: 1
    Dernier message: 23/09/2014, 17h13
  3. Réponses: 3
    Dernier message: 06/06/2007, 19h47
  4. Réponses: 5
    Dernier message: 27/05/2005, 17h10
  5. [Servlet] récupérer les champs d'une jsp
    Par phoebe dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 12/05/2004, 16h32

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