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

C# Discussion :

Problème de mise à jour d'un gridview


Sujet :

C#

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2010
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 98
    Par défaut Problème de mise à jour d'un gridview
    Bonjour à tous

    J'ai un petit problème pour mettre à jour un gridview, mon problème est au niveau de la validation de la mise à jour.

    La première chose que j'effectue est de mettre mon gridview en edition grace au code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
            protected void Video_Episode_RowEditing(object sender, GridViewEditEventArgs e)
            {
     
                Video_Episode.EditIndex = e.NewEditIndex;
                DataSet episode_data = Fonction.construirdataset(video_episode_req);
                Video_Episode.DataSource = episode_data;
                Video_Episode.DataBind();
            }
    La il apparait sur mon gridview en debut de ligne 2 boutons Valider et annuler.
    Pour annuler ça marche,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     protected void Video_Episode_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
            {
                Video_Episode.EditIndex = -1;
                DataSet episode_data = Fonction.construirdataset(video_episode_req);
                Video_Episode.DataSource = episode_data;
                Video_Episode.DataBind();
            }
    Mais par contre pour la validation de la mise à jour, j'ai essaye plein chose mais rien fonctionne j'ai utiliser l'événement "RowUpdating" Je sais pas si c'est le bon.

    Est ce que quelqu'un à déjà eu se problème

    Merci beaucoup pour votre aide,

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2010
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 98
    Par défaut Complément
    Bonjour

    Après plusieurs essai et vérification, toujours aucun changement.

    J'apporte quelque complément

    Voici ce que j'ai codé pour la mise à jour de la ligne de mon gridview

    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
    27
    28
    29
    30
    31
    32
     
    protected void Video_Episode_RowUpdating(object sender, GridViewUpdateEventArgs e)
            {
                String connectionString = "Data Source=CHARLES-PC\\SQL_2008;Persist Security Info=True;User ID=sa;Password=supersa";
     
                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    connection.Open();
     
                    string[] ID_video = Request.QueryString.GetValues(null);
                    string[] episode = new string[3];
     
                    episode[0] = Video_Episode.Columns[2].Rows[e.RowIndex].Cells[2].Text.ToString();
                    episode[1] = Video_Episode.Rows[e.RowIndex].Cells[3].Text.ToString();
                    episode[2] = Video_Episode.Rows[e.RowIndex].Cells[4].Text.ToString();                            
     
                    string modif_episode = "UPDATE [VidéoMania].[dbo].[VIDEO_episode] " +
                                           "SET [VideoID] = '" + ID_video[0] + "'" +
                                           ",[N_episode] =  '" + episode[0] + "'" +
                                           ",[Titre_episode] = '" + episode[1] + "'" +
                                           ",[Duree] = '" + episode[2] + "' " +
                                           "WHERE VideoID = '" + ID_video[0] + "' AND N_episode = '" + episode[0] + "'";
                    SqlCommand Execute_requete = new SqlCommand(modif_episode, connection);
                    int nbsite = Execute_requete.ExecuteNonQuery();
     
                    Video_Episode.EditIndex = -1;
     
                    DataSet episode_data = Fonction.construirdataset(video_episode_req);
                    Video_Episode.DataSource = episode_data;
                    Video_Episode.DataBind();
                }
            }
    Il ne retour aucune erreur mais les lignes ou je récupére les valeurs elle non plus ne retourne rien.

    Pour info : j'ai vérifié si ce n'était pas ma procédure- page load qui remetter les anciennes, mais c'est pas ça car j'ai mis une vérification postback elle le programme ne passe pas dedans

    Merci pour votre aide futur
    Charles

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2010
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 98
    Par défaut
    Bonjour

    Je n'ai toujours rien trouver sur ce problème. Je ne sais pas pourquoi je n'arrive pas à rcupérer les valeurs saisie dans le gridview pour effectuer la mise à jour.

    Si quelqu'un à une solution je suis preneur

    Merci

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Par défaut
    Tu as mis des keys sur ta gridview?

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2010
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 98
    Par défaut
    Oui j'ai bien bien mis une keys, j'ai mis la clé primaire de ma ligne

    Cordialement

  6. #6
    Membre émérite Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    protected void Video_Episode_RowEditing(object sender, GridViewEditEventArgs e)
            {
     
                Video_Episode.EditIndex = e.NewEditIndex;
                DataSet episode_data = Fonction.construirdataset(video_episode_req);
                Video_Episode.DataSource = episode_data;
                Video_Episode.DataBind();
            }
    je ne comprend pas pouquoi tu charges tes données à chaque fois que tu édite une ligne.


    Le bouton valider se trouve sur chaque ligne?

    si oui au moment ou tu cliques dessus, récupere le row courant (CurrentRow) de ta grille et fais ta mise à jour

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

Discussions similaires

  1. [MySQL] Problème de mise à jour d'une table
    Par SnickeursMan dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 17/01/2006, 11h39
  2. Problème de mise à jour de données avec IBClientDataset
    Par Papino dans le forum Bases de données
    Réponses: 6
    Dernier message: 26/09/2005, 14h04
  3. [2000 Server] Problème de mise à jour windowsupdate !!
    Par rohstev dans le forum Autres Logiciels
    Réponses: 8
    Dernier message: 24/08/2005, 15h03
  4. Problème de mise à jour de base de données
    Par poirier dans le forum ASP
    Réponses: 2
    Dernier message: 26/05/2004, 11h38
  5. problème de mise à jour de BD
    Par tidiane dans le forum Bases de données
    Réponses: 5
    Dernier message: 04/03/2004, 15h32

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