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 :

ajouter une imagebuton a un gridview


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 159
    Par défaut ajouter une imagebuton a un gridview
    bonjour, j'essaye d'inserer une imagebutton dans un gridview pour supprimer et une autre pour modifier

    Par contre je ne sais pas ou est ce que je dois ajouter les fonction de suppression et de modification dans le code behind


    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1">
            <Columns>
            <asp:TemplateField>
                <ItemTemplate>
                <asp:ImageButton ID="ImageButton2" runat="server" ImageUrl="~/boutons/picto_feuille.gif" AlternateText="Editer"  CommandName="modifier"/>&nbsp;&nbsp;&nbsp;
                     <asp:ImageButton ID="ImageButton3" runat="server" ImageUrl="~/boutons/picto_poubelle.gif"  AlternateText ="Supprimer" CommandName="supprimer"  OnClientClick="javascript:return confirm('Êtes-vous sûr de vouloir supprimer?')" />
     
                </ItemTemplate>
            </asp:TemplateField>
            </Columns>
            </asp:GridView>
    [Pensez aux balises CODE - Giovanny]

  2. #2
    Membre chevronné Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Par défaut
    Bonjour intissar_g,

    Pour ton cas, il faut ajouter d'abord une propriété aux 2 buttons de modification et de suppression :

    CommandArgument='<%# Eval("ObjectId") %>'
    qui contient l'id de l'objet à supprimer ou à modifier.

    par exemple pour la modification:

    <asp:ImageButton ID="ImageButton2" runat="server" ImageUrl="~/boutons/picto_feuille.gif" AlternateText="Editer" CommandName="modifier" CommandArgument='<%# Eval("ObjectId") %>'/>
    Ensuite dans le code behind, t'a qu'à faire dans la méthode GridView1_RowCommand:

    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
    if (e.CommandName == "modifier")
    {

    this.ObjectId= int.Parse( e.CommandArgument.ToString());
    // Call the update Method
    UpdateData();
    }

    }
    j'espère que ça va t'aider.

    bonne courage ;-)

  3. #3
    Rédacteur
    Avatar de Giovanny Temgoua
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2003
    Messages
    3 830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 3 830
    Par défaut
    A moins que je me trompe, si tu mets à CommandName
    - Delete : on execute directement la méthode Delete de ton DataSource
    - Edit : Edition
    - Select
    etc...

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 159
    Par défaut specification de l'Id
    oui mais dans la méthode delete du datasource je ne sais pas comment faire pour spécifier l'id a supprimer
    delete from client where....

  5. #5
    Membre chevronné Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Par défaut
    Bonjour,

    c'est deja dis au début, il faut ajouter CommandArgument et spécifier dans le Eval l'id de l'objet à supprimer :

    CommandArgument='<%# Eval("ObjectId") %>' .

    et bien sûr l'objet de l'id à supprimer tu le recupère dans le bind du gridview.

    bonne chance

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 159
    Par défaut Erreur du serveur dans l'application
    Bonjour Merci de ton aide, quand j'execute le bouton de supression ca me donne l'erreur suivante :

    Argument de publication ou de rappel non valide. La validation d'événement est activée via <pages enableEventValidation="true"/> dans la configuration ou via <%@ Page EnableEventValidation="true" %> dans une page. Pour des raisons de sécurité, cette fonctionnalité vérifie si les arguments des événements de publication ou de rappel proviennent du contrôle serveur qui les a rendus à l'origine. Si les données sont valides et attendues, utilisez la méthode ClientScriptManager.RegisterForEventValidation afin d'inscrire les données de publication ou de rappel pour la validation.

    par contre quand je met la condition if (!Page.IsPostBack) dans le on_page load j'ai pas d'erreur mais le bouton ne s'execute pas

    voici le code

    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
     
    protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                chargerGrille();
            }
        }
     
        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "supprimer")
            {
                string c;
                c = Convert.ToString(e.CommandArgument);
                TextBox1.Text=c;
        }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <asp:ImageButton ID="ImageButton3" runat="server" ImageUrl="~/boutons/picto_poubelle.gif" CommandArgument='<%# Eval("code") %>'  AlternateText ="Supprimer" CommandName="supprimer" />&nbsp;&nbsp;&nbsp;
    Merci

  7. #7
    Membre chevronné Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Par défaut
    Bonjour,

    Essaye de laisser ton dernier code comme il est (surtout l'ajout de if (!IsPostBack)), mais par contre il faut changer "supprimer" dans le CommandName par "Delete":

    CommandName == "Delete"

    dans le bouton et aussi dans le GridView1_RowCommand.

    Bonne chance,

Discussions similaires

  1. Ajout une ligne dans un GridView en clic TAB
    Par ragu23 dans le forum ASP.NET
    Réponses: 0
    Dernier message: 17/03/2011, 13h35
  2. [POO] Ajouter une ligne a ma gridview
    Par dachir dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 10/06/2008, 11h57
  3. Ajouter une ligne dans un gridview
    Par The eye dans le forum VB.NET
    Réponses: 11
    Dernier message: 05/03/2008, 18h57
  4. Ajouter une ligne dans un gridview
    Par The eye dans le forum VB.NET
    Réponses: 1
    Dernier message: 29/01/2008, 00h15
  5. [C#][2.0] Comment ajouter une scrollbar a un gridview?
    Par just1980 dans le forum ASP.NET
    Réponses: 7
    Dernier message: 09/01/2007, 01h24

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