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

Messages postés
41
Date d'inscription
lundi 12 février 2007
Dernière intervention
2 juin 2010
- 29 juil. 2009 à 14:53 - Dernière réponse :
Messages postés
41
Date d'inscription
lundi 12 février 2007
Dernière intervention
2 juin 2010
- 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
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Dernière intervention
21 juillet 2010
- 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é 90 internautes ce mois-ci

Commenter la réponse de ggtry
Messages postés
41
Date d'inscription
lundi 12 février 2007
Dernière intervention
2 juin 2010
- 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.