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 :

[C#][VS2005] Comment obtenir une modification spécifique dans mon GridView ?


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut [C#][VS2005] Comment obtenir une modification spécifique dans mon GridView ?
    Bonjour,

    Je voudrais savoir, lors de ma modification avec ma GridView, comment garder en parametre la valeur que l'on va modifié.
    Je m'explique, j'ai une table "style" avec comme champs :
    PROJET | ACTIVITE
    -------------------
    OK | VERIF
    OK | TEST
    OK | ESSAI
    DE | ETRE
    DE | SUR

    Ma GridView selectionne les projets en enlevant les doublons (SELECT DISTINCT projet FROM style)
    Je voudrais, avec la fonction modifier, modifier le projet OK par exemple en OKI et que cela modifie mais 3 OK!
    Le probleme c'est qu'au niveau de la requete (UPDATE style SET projet = @projet WHERE (projet = ????)
    Je voudrais par le "????" avoir l'ancienne valeur du projet que je veux modifier, dans ce cas la, le mot OK.

    Merci d'avance!

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 619
    Points
    1 619
    Par défaut
    ta gridview a quoi comme datasource? un sqldatasource je pense. normalement avec l'assistant tu peux implementer le delete et l'update. donc si tu le fais normalement c'est la gridview qui se charge quand tu cliques sur ton bouton ok de faire les mises à jour.

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par rattlehead
    ta gridview a quoi comme datasource? un sqldatasource je pense. normalement avec l'assistant tu peux implementer le delete et l'update. donc si tu le fais normalement c'est la gridview qui se charge quand tu cliques sur ton bouton ok de faire les mises à jour.
    Oui, j'utilise bien un SqlDataSource sauf que le probleme c'est que la requte de l'update est fausse je pense, et je ne sais pas quoi faire comme requete correct car avec cette requete:
    (UPDATE style SET projet = @projet WHERE (projet = @projet)
    Cela ne modifie rien, et quand je fais
    (UPDATE style SET projet = @projet WHERE (projet = projet)
    Ca me modifie tout, ce qui est normal, le probleme c'est que je ne sais pas comment faire pour que le projet du WHERE designe le projet que je veux modifier...on m'a parlé de @original_projet mais cela ne marche pas :s

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 619
    Points
    1 619
    Par défaut
    d'un autre coté c'est normal que ta requete te met tout à jour vu que SQL server n'a pas de moyen de distinguer les projets. il te manque une clé primaire. ajoute là et refait une requete avec cette clé comme parametre de mise à jour.

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par rattlehead
    d'un autre coté c'est normal que ta requete te met tout à jour vu que SQL server n'a pas de moyen de distinguer les projets. il te manque une clé primaire. ajoute là et refait une requete avec cette clé comme parametre de mise à jour.
    Justement je ne veux pas mettre de clé primaire car lorsque je modifierai le projet, il ne me modifiera qu'une seule ligne, celle que j'aurai choisi, alors que moi, je veux qu'il modifie l'ensemble des projets ayant le meme nom de projet que j'aurai selectionné

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 619
    Points
    1 619
    Par défaut
    normal que ca ne modifie rien ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE style SET projet = @projet WHERE (projet = @projet)
    tu mets a jour projet avec @projet. si @projet=ok il ne se passe rien.
    et si tu mets @projet='oki' comme il n'y a pas de oki dans ta table ca ne fait aucun update. il te faut donc 2 valeurs pour ta requete. @projet et @ancienProjet.

  7. #7
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par rattlehead
    normal que ca ne modifie rien ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE style SET projet = @projet WHERE (projet = @projet)
    tu mets a jour projet avec @projet. si @projet=ok il ne se passe rien.
    et si tu mets @projet='oki' comme il n'y a pas de oki dans ta table ca ne fait aucun update. il te faut donc 2 valeurs pour ta requete. @projet et @ancienProjet.
    Oui, je sais que ma requete n'est pas bonne et justement, je cherche comment je pourrais recuperer le "@ancienProjet"???

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 619
    Points
    1 619
    Par défaut
    sinon tu mets dans datakeysname tu mets le nom projet comme ca quand tu implémentes la methode itemupdating tu as la valeur de projet en faisant mygridview.selectedValue. et normalement l'objet eventArgs tu as la nouvelle valeur de projet.

  9. #9
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par rattlehead
    sinon tu mets dans datakeysname tu mets le nom projet comme ca quand tu implémentes la methode itemupdating tu as la valeur de projet en faisant mygridview.selectedValue. et normalement l'objet eventArgs tu as la nouvelle valeur de projet.
    J'ai deja mis en DataKeyNames le nom "projet", je veux simplement savoir comment je pourrais faire si je fais cette requete qui est placé dans le SqlDataSource :
    UPDATE style SET projet = @projet WHERE (projet = @ancienprojet)

    Pour avoir la valeur de @ancienprojet...
    Car si j'utilise ItemUpdating qui est donc l'equivalent de RowUpdating, je ne dois pas ecrire ma requete dans le SqlDataSource...
    Et donc comment on peux faire avec le GridView.SelectedValue...

  10. #10
    Membre confirmé
    Avatar de jpelaho
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Avril 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 120
    Points : 487
    Points
    487
    Par défaut
    essaie de donner une valeur à la propriété OldValuesParameterFormatString de ton sqlDataSource, "original_{0}" par exemple. Ensuite tu mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE style SET projet = @projet WHERE (projet = @original_projet)

  11. #11
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par jpelaho
    essaie de donner une valeur à la propriété OldValuesParameterFormatString de ton sqlDataSource, "original_{0}" par exemple. Ensuite tu mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE style SET projet = @projet WHERE (projet = @original_projet)
    Rolala je me disais bien qu'il me manquer le "original_{0}" !!!!
    Merci en totu cas, génial sa marche

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/12/2008, 16h12
  2. Comment vérifier une URL saisie dans mon formulaire ?
    Par cdevl32 dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 28/10/2007, 18h32
  3. [MySQL] Comment créer une sous catégorie dans mon site ?
    Par plex dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 18/08/2006, 09h59
  4. Réponses: 6
    Dernier message: 19/07/2006, 13h48
  5. Comment obtenir une couleur clignotante dans un TStringGrid ?
    Par OutOfRange dans le forum Composants VCL
    Réponses: 2
    Dernier message: 24/07/2005, 00h46

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