begin process at 2012 05 27 21:24:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Divers

 > 

Autre

 > 

Grid view et image button


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Grid view et image button

jeudi 29 janvier 2009 à 14:14:16 | Grid view et image button

Fo0Zie

Bonjour,

Est-il possible d'associer un événement onClick sur une image button contenu dans une colonne de la gridView, en récupérant l'id de la ligne ? Si oui, comment faire ?

Voici la dernière colonne de mon gridView, contenant pour chaque ligne 3 images, pour 3 actions différentes :
            <asp:TemplateField HeaderText="Action" SortExpression="IMAGE">
                <ItemTemplate>
                    <asp:ImageButton ID="imgActionView" runat="server" ImageUrl="~/App_Themes/Default/images/boutons/viewmag.png"
                    CommandName="View" />
                   
                    <asp:ImageButton ID="imgActionEdit" runat="server" ImageUrl="~/App_Themes/Default/images/boutons/edit.png"
                    CommandName="Edit" />
                   
                    <asp:ImageButton ID="imgActionDelete" runat="server" ImageUrl="~/App_Themes/Default/images/boutons/delete.png"
                    CausesValidation="false" CommandName="Delete" />
                </ItemTemplate>
                <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="95px" />
            </asp:TemplateField>

La première image consiste à voir les détails de l'utilisateur, lors du clique sur l'image il faudrait récupérer l'ID de l'utilisateur.
La deuxième consiste à modifier les informations de l'utilisateur, lors du clique sur l'image il faudrait récupérer l'ID de l'utilisateur.
La troisième consiste à supprimer l'utilisateur. <= Pour ça pas de problème je n'ai pas besoin d'évènement OnCLick.
jeudi 29 janvier 2009 à 22:48:08 | Re : Grid view et image button

ggtry

Bonsoir,

Une possibilité, en vb, en mettant onclick="cl" sur ton imagebutton :

Protected Sub cl(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs)
        Dim id As String = sender.parent.parent.cells(0).text
        TonLabel.text=id
End Sub

Ici, on remplit un label avec le texte de la première cellule de la ligne de la gridview sur laquelle se trouve l'imagebutton.

GGtry
vendredi 30 janvier 2009 à 09:41:03 | Re : Grid view et image button

Fo0Zie

Bonjour ggtry merci de ta réponse.

J'ai essayé en C#, mais il ne reconnait pas l'évenement OnClick.

Erreur de compilationDescription : Une erreur s'est produite lors de la compilation d'une ressource requise pour répondre à cette demande. Veuillez consulter ci-dessous les détails relatifs à l'erreur en question, puis modifier votre code source de manière appropriée.

Message d'erreur du compilateur: CS0117: 'ASP.gestionutilisateurs_aspx' ne contient pas de définition pour 'imgActionViewClick'

Voici la dernière colonne de mon gridview :
            <asp:TemplateField HeaderText="Action" SortExpression="IMAGE">
                <ItemTemplate>
                    <asp:ImageButton ID="imgActionView" runat="server" ImageUrl="~/App_Themes/Default/images/boutons/viewmag.png"
                    CommandName="View" OnClick="imgActionViewClick"/>
                   
                    <asp:ImageButton ID="imgActionEdit" runat="server" ImageUrl="~/App_Themes/Default/images/boutons/edit.png"
                    CommandName="Edit"/>
                   
                    <asp:ImageButton ID="imgActionDelete" runat="server" ImageUrl="~/App_Themes/Default/images/boutons/delete.png"
                    CausesValidation="false" CommandName="Delete" />
                </ItemTemplate>
                <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="95px" />
            </asp:TemplateField>

Et la procédure pour l'évenement OnCLick :
        protected void imgActionViewClick_Click(object sender, ImageClickEventArgs e, GridViewCommandEventArgs eg)
        {
            if (eg.CommandName == "View")
            {
              int id = Convert.ToInt32(eg.CommandArgument);
            }
            Response.Redirect("viewUtilisateur.aspx");
            // Recuperation de l'id par une session
        }


vendredi 30 janvier 2009 à 10:20:24 | Re : Grid view et image button

ggtry

Bonjour,

En c#, je ne pourrais pas t'aider très loin (je code seulement en vb), mais :
1/ tu écris protected void imgActionViewClick_Click alors que tu appelles onclick="imgActionViewClick"...
2/ pour faire comme tu veux faire, tu dois plutôt passer par l'événement RowCommand de ta gridview en n'oubliant pas de définir ton commandargument. Cela donnera le même résultat :

<ItemTemplate>
                    <asp:ImageButton ID="ImageButton1" CommandName="coco" CommandArgument='<%# Eval("Ton_ID") %>' ImageUrl="~/Ton_Image.png" runat="server" />
 </ItemTemplate>

et :

 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "coco")
        {
            Label1.Text = e.CommandArgument.ToString();
        }
    }

GGtry
vendredi 30 janvier 2009 à 11:06:57 | Re : Grid view et image button

Fo0Zie

Ah oui exact j'avais même mal renommé ma procédure.

Sinon lorsque je clique sur mon image ça ne redirige pas vers ma page voulu.
Code C#
        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "View")
            {           
                int index = Convert.ToInt32(e.CommandArgument);
                Response.Redirect("viewUtilisateur.aspx");
                Session["id_user"] = index;
            }
        }
Dernière colonne de ma gridView :
            <asp:TemplateField HeaderText="Action" SortExpression="IMAGE">
                <ItemTemplate>
                    <asp:ImageButton ID="imgActionView" runat="server" ImageUrl="~/App_Themes/Default/images/boutons/viewmag.png"
                    CommandName="View" CommandArgument='<%# Eval("id_user") %>'/>
                   
                    <asp:ImageButton ID="imgActionEdit" runat="server" ImageUrl="~/App_Themes/Default/images/boutons/edit.png"
                    CommandName="Edit"/>
                   
                    <asp:ImageButton ID="imgActionDelete" runat="server" ImageUrl="~/App_Themes/Default/images/boutons/delete.png"
                    CausesValidation="false" CommandName="Delete" />
                </ItemTemplate>
                <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="95px" />
            </asp:TemplateField>
vendredi 30 janvier 2009 à 20:30:49 | Re : Grid view et image button

ggtry

Bonsoir,

J'imagine que tu veux récupérer ta variable de session dans ta deuxième page pour afficher les données utiles ?
Mais ta variable de session est définie après le response.redirect. Il faut le faire avant...

Je ne sais pas ce que tu veux faire exactement, mais peut-être serait-il mieux de ne pas passer par la session pour faire cela, et de passer l'argument dans l'url ? Il est plus intéressant de passer par la session pour les données que tu veux faire persister au cours de la navigation sur ton site.

GGtry
vendredi 30 janvier 2009 à 20:44:52 | Re : Grid view et image button

Fo0Zie

Exact ggtry ! Pour la session je l'avais mis après mais c'était sans réfléchir, je voulais voir avant que lorsque je cliquais sur mon image, ça me redirigeais bien vers mon autre page. Mais là non.

C'est mon premier projet en asp.net et je patauge un peu. D'autant plus que sur Internet, je ne trouve pas mon bonheur niveau tuto, pour des trucs simples que je connais en PHP.
Cet après-midi j'ai trouvé la solution grâce à ton aide et celle d'un collège. A la place d'utiliser un image button, j'utilise un href img, pour la redirection du site, et je passe l'id de l'utilisateur en paramètre dans l'url, grâce à ça '<%# Eval("id_user") %>'.

Voilà, quand je pense au temps que j'ai mis pour trouver ça !!! Et c'est vrai que les sessions se n'ai pas du tout adapté pour ce que je veux faire, mais je ne savais pas comment récupérer mon id et le passer en paramètre dans mon url.

Merci ggtry, c'était sympa de m'avoir aidé, ça m'a bien aiguillé vers la solution.
vendredi 30 janvier 2009 à 21:09:19 | Re : Grid view et image button

ggtry

Rebonsoir,

Dans ce cas, tu pouvais aussi utiliser l'imagebutton, un peu sur le même principe, mais avec un postbackurl, avec la syntaxe suivante :

<ItemTemplate>
                    <asp:ImageButton ID="ImageButton1" postbackurl='<%# "viewUtilisateur.aspx?user=" + Eval("Ton_ID") %>' ImageUrl="~/ton_image.png" runat="server" />
   </ItemTemplate>

On ne sait jamais : si ça peut servir...

Bonne continuation.

GGtry
vendredi 30 janvier 2009 à 21:11:51 | Re : Grid view et image button

Fo0Zie

Ha merci !!! c'est toujours bon à savoir. Je vais même essayer tiens.


Cette discussion est classée dans : button, image, utilisateur, id, view


Répondre à ce message

Sujets en rapport avec ce message

enregistrer image dossier [ par moorice ] Bonjour, je develloppe une application web en c#,j'aimerais savoir comment inserer une image dans un dossier ou le chemin de l'image provient d'un tex Image Button [ par elpens ] Bonjour, Je suis actuellement bloqué et je recherche un peu d'aide.Voilà:J'ai un gridView lié avec une db qui m'affiche des alertes. J'aimerais que qu Faire un first dans une requête SQL [ par DeathAngel ] Bonjour,Je suis newbie sur SQL sever, et j'aurai besoin de faire un FIRST (que j'utilisais souvent avec access). Cette fonction d'agrégation semble ne Mettre à jour un textbox depuis une deuxième page. [ par lmu ] Hello,J'ai un formulaire avec une dizaine de Textbox.L'un de ces textbox contient une donnée numérique (ID de la catégorie).Un bouton (à côtés du text Titre personalisé des colonnes du Gridview [ par wally88 ] Bonjour, j'ai un soucis j'arrive a personnaliser les titres des colonnes mais il m'affiche quand meme les autres de la base de données.code-behind :   recuperer une image dans un tableau de byte qui provient d une variable session en c# [ par danyclassique ] Bonjour a tous.J ai repris un code sur ce site cree en vb.net qui permet de faire la gestion d images avec commantaires tres tres bien fait, avec une Grid View récupérer l'id de la ligne sélection avec un imgButton [ par Fo0Zie ] Bonjour à tous,J'ai un  problème avec mon grid view. Je n'arrive pas à récupérer l'id et la valeur (le texte) de ma ligne sélectionné à l'aide d'un im Controle grid view [ par 5net ] Bonjour, dans le cadre du developement d'un site avec asp.net je souhaiterais créer une gridview qui grace a un lien de selection dans une colonne me suppression image et majuscule [ par poussmouss ] Bonjour,en fait j'ai deux question : 1- J'ai une liste d'utilisateur, qui ont chacun leur avatar, et je voudrais savoir si il existe un moyen pour sup Affihcer un popup [ par mbawabdi ] Bonjour, j'ai un gridview dans lequel il ya un button image. j'aimerai que quand on clique sur le button image =, on affiche un popup juste au dessus


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,490 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales