GridView - Evenement d'un bouton dans un TemplateField [Résolu]

aifzaide 41 Messages postés lundi 12 février 2007Date d'inscription 2 juin 2010 Dernière intervention - 29 juil. 2009 à 14:53 - Dernière réponse : aifzaide 41 Messages postés lundi 12 février 2007Date d'inscription 2 juin 2010 Dernière intervention
- 30 juil. 2009 à 14:24
Bonjour,

J'explique mon problème, j'ai une GridView dans la quel j'ai défini un TemplateField dans lequel j'ai trois Button. Chaque bouton à une méthode différentes sur son évenement OnClick(object sender, EventArgs e)

J'aimerais dans chacune de ces méthodes pouvoir récuperer le DataKeyName de la ligne du bouton sur lequel je viens de cliquer. Quelqu'un pourrait-il éclairer ma lanterne?

Dans l'attente d'une réponse, en vous remerciant par avance.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
ggtry 417 Messages postés vendredi 13 juin 2008Date d'inscription 21 juillet 2010 Dernière intervention - 30 juil. 2009 à 01:18
3
Merci
Bonsoir,

Tu peux, par exemple, utiliser le rowcommand de ta gridview. Dans ce cas, tu peux récupérer l'id du button à l'aide de e.commandsource.id. Pour récupérer la datakey de ta table, tu peux la définir en commandargument.

Par exemple, sur un des button asp :

' />

Et puis en code (en vb), en remplissant un label selon le button et la ligne de la gridview :

Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs)
If e.CommandSource.id = "Button1" Then
Label1.Text = "Premier bouton" & ":" & e.CommandArgument.ToString
ElseIf e.CommandSource.id = "Button2" Then
Label1.Text = "Second bouton" & ":" & e.CommandArgument.ToString
End If
End Sub

GGtry

Merci ggtry 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de ggtry
aifzaide 41 Messages postés lundi 12 février 2007Date d'inscription 2 juin 2010 Dernière intervention - 30 juil. 2009 à 14:24
0
Merci
Merci de ta réponse GGtry,

Cependant je suis passer par une solution annexe qui ne me plait guère à vrai dire mais qui marche. Je m'explique:

Dans le RowDataBound(object sender, EventArgs e) j'ai mis dans chaque ToolTip de mes trois bouton, l'id de ma ligne et pour chaque bouton j'ai défini une méthode sur le OnClick(object sender, EventArgs e). Dans cette méthode je récupère l'Id à l'aide du "sender" ((Button)sender).ToolTip.

Cela fonctionne même si je ne trouve pas ca très propre, j'adapterai avec ta méthode dès que j'aurais un peu de temps.

Merci encore, à bientôt.
Commenter la réponse de aifzaide

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.