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 :

Pourquoi je dois cliquer 2 fois sur EditButton dans ma GridView ?


Sujet :

C#

  1. #1
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 847
    Points
    4 847
    Par défaut Pourquoi je dois cliquer 2 fois sur EditButton dans ma GridView ?
    bonsoir,

    je viens de créer une GridView qui est liée à une base de donnée SqlServer, les données sont bien affichées comme vous voyez dans l'image en dessous.

    Le problème c'est que je ne sais pas pourquoi a chaque fois je dois cliquer 2 fois sur Modifier Annuler et Mettre à jour ? c'est comme si il y a un conflit entre GridViewEditEventArgs et GridViewUpdateEventArgs et GridViewCancelEditEventArgs.

    le code behind :

    Code c# : 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
     
    protected void Mise_a_jour(object sender, GridViewUpdateEventArgs gue)
            {
                    maGridView.EditIndex = (int)gue.RowIndex;
                    maGridView.SelectedIndex = (int)gue.RowIndex;
                    lblaction.Text = " UPDATING ID Cat : " + maGridView.DataKeys[gue.RowIndex].Values[0].ToString();
                    maGridView.Dispose();
                    gue = null;
            }
        protected void Annuler(object sender, GridViewCancelEditEventArgs gce)
        {
                gce.Cancel = true;
                maGridView.EditIndex = -1;
                maGridView.SelectedIndex = -1;
                lblaction.Text = "Canceling ID Cat : " + maGridView.DataKeys[gce.RowIndex].Values[0].ToString();
        }
     
     
        protected void Editer(object sender,  GridViewEditEventArgs gee)
            {
                    int edite_cat_id;
                    int Edit = (int)gee.NewEditIndex;
                    maGridView.SelectedIndex = Edit;
                    maGridView.EditIndex = Edit;
     
                    edite_cat_id = (int)maGridView.DataKeys[gee.NewEditIndex].Values[0];
                    lblaction.Text = "</br> Edit ID Cat : " + edite_cat_id;
                    gee = null; sender = null;
            }

    page aspx :

    Code aspx : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <asp:GridView ID="maGridView"  CssClass="pagine" runat="server" CellSpacing=1  
                HorizontalAlign="Center" AllowPaging="True" 
                AllowSorting="True"  AutoGenerateDeleteButton="True" DataKeyNames="id_cat,titre_cat" 
                AutoGenerateEditButton="True"  AutoGenerateSelectButton="True" AutoGenerateColumns="False" 
                OnPageIndexChanging="MyDataView_Page"   OnSorting="Trier" CellPadding="3" 
                GridLines="None" onselectedindexchanged="maGridView_SelectedIndexChanged" 
                OnRowDeleting="Supprimer"  OnRowEditing="Editer"  OnRowUpdating="Mise_a_jour" 
                OnRowCancelingEdit="Annuler" OnRowCommand="Commande" BackColor="White" 
                BorderColor="White" BorderStyle="Ridge" BorderWidth="2px" >
                <Columns>
    <asp:ButtonField ButtonType=Button CommandName="btnmodifier" HeaderText="Modifier" Text="Modifier"  />
          <asp:BoundField DataField="Id_cat"  HeaderText="Id Cat" SortExpression="Id_cat" ReadOnly="True" />
           .....
                <Columns>

    quand je clique la première fois sur le lien MODIFIER je reçois l'id catégorie correcte en passant par DataKeyNames c'est à dire que le déclencheur d'événement GridViewEditEventArgs s'est bien lancé pourtant la ligne n'est pas en mode Éditable, il faut que je clique encore une fois pour que la ligne devienne Éditable , même si que je l'ai bien mentionné dans mon code behind
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int Edit = (int)gee.NewEditIndex;
                    maGridView.SelectedIndex = Edit;
                    maGridView.EditIndex = Edit;

    la même chose pour mettre-a-jour et annuler, je me demande pourquoi ?? quelqu'un pourrai m'aider s'il vous plait ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    salut

    le MaGridView.Dispose() n'a pas de sens et n'a rien à faire ici
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  3. #3
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 847
    Points
    4 847
    Par défaut
    Citation Envoyé par theMonz31 Voir le message
    salut

    le MaGridView.Dispose() n'a pas de sens et n'a rien à faire ici
    salut

    oui je sais qu'elle n'a rien a faire ici lol, je voulais juste tester , je l'ai enlevé et le problème est toujours le même, je ne comprends pas

Discussions similaires

  1. je dois cliquer 2 fois sur le bouton de mon formulaire !
    Par intik dans le forum Zend Framework
    Réponses: 4
    Dernier message: 11/10/2011, 19h34
  2. Je dois cliquer 2 fois sur le bouton pour valider mon formulaire !
    Par intik dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/10/2011, 11h34
  3. Réponses: 6
    Dernier message: 14/04/2009, 09h14
  4. Réponses: 7
    Dernier message: 28/02/2007, 14h59
  5. [PUBLICATION] Cliquer une fois sur l'animation.
    Par arti2004 dans le forum Intégration
    Réponses: 9
    Dernier message: 19/07/2006, 08h58

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