Comment déclencher l'evenement d'un bouton placé dans une datagrid ?
wynxo
Messages postés18Date d'inscriptionmardi 11 février 2003StatutMembreDernière intervention17 octobre 2007
-
27 avril 2005 à 14:55
cs_Yopyop
Messages postés586Date d'inscriptionlundi 7 janvier 2002StatutMembreDernière intervention10 février 2010
-
26 mai 2005 à 14:06
Hello tlm,
Je suis a la recherche d'un exemple dans lequel il y a un datagrid dans laquel chaque row contient au moins un bouton.
Car j'arrive sans problème a ajouter les boutons dans la datagrid mais impossible de déclencher l'évènement une fois que je clique sur le bouton.
Y'a t'il qlq ch de particulier a faire pcq je ne vois vraiment pas ce que je fais de travers...
Thx
A voir également:
Comment déclencher l'evenement d'un bouton placé dans une datagrid ?
cs_Yopyop
Messages postés586Date d'inscriptionlundi 7 janvier 2002StatutMembreDernière intervention10 février 20101 27 avril 2005 à 15:43
salut,
tu peux ajouter au
bouton1 CommandName="btnXXX1_click"
bouton2 CommandName="btnXXX2_click"
bouton3 CommandName="btnXXX3_click"
dans ton datagrid tu ajoutes
OnItemCommand="dg_ItemClick"
dans ton code behind tu ajoutes
Protected
Sub dg_ItemClick(
ByVal sender
As
Object,
ByVal e
As DataGridCommandEventArgs)
Select
Case e.CommandName.ToString()
Case "btnXXX_click" 'CommandName associée au bouton1
CmdBouton1(sender, e)
Case "btnXXX2_click" 'CommandName associée au bouton2
CmdBouton2(sender, e)
Case "btnXXX3_click" 'CommandName associée au bouton3
CmdBouton1(sender, e)<- le bouton 3 lance le même 'événement' que le bouton 1
Case
Else
End
Select
End
Sub
Protected Sub CmdBouton1(ByVal sender As Object,
ByVal e As DataGridCommandEventArgs)
'Action bouton1
End Sub
Protected Sub CmdBouton2(ByVal sender As Object,
ByVal e As DataGridCommandEventArgs)
'Action bouton2
End Sub
wynxo
Messages postés18Date d'inscriptionmardi 11 février 2003StatutMembreDernière intervention17 octobre 2007 28 avril 2005 à 10:36
Merci pour la réponse mais j'ai tj le même ^roblème.
J'ai bien rajouté OnItemCommand="dg_ItemClick" dans le datagrid dans le code html
Et dans le code behin j'ai copier ce que tu m'as donné
Par contre je ne vois pas ce que je dois faire avec ça:
bouton1 CommandName="btnXXX1_click"
bouton2 CommandName="btnXXX2_click"
bouton3 CommandName="btnXXX3_click"
Et je ne sais pas comment faire pour ajouter les boutons a la grid de façon dynamqiue, pcq moi je le faisais via le mode design et je rajoutais des buton de type Edit, Select, Delete, etc... mais les evenements ne se déclenchent pas...
....
</Columns>
<HEADERSTYLE HorizontalAlign="Center"></HEADERSTYLE><HEADERSTYLE HorizontalAlign="Center"></HEADERSTYLE>
Lorsque tu cliques sur un bouton, dgInputs_ItemLinkClick
est lancé (le OnItemCommand).
Pour savoir sur quel bouton tu as cliqué, il faut mettre dans le code behind:
'Gestion du OnItemCommand
Protected Sub dgInputs_ItemLinkClick(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
'Quelle est la commande exécutée ?
Select Case e.CommandName.ToString()
Case "dgInputs_Enhancement_Request"
dgInputs_Enhancement_Request(sender, e)
Case "dgInputs_View_Enhancement"
dgInputs_View_Enhancement(sender, e)
Case Else
End Select
End Sub
'Gestion des événements bouton
Protected Sub dgInputs_View_Enhancement(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
'code pour le bouton view (événement dgInputs_View_Enhancement)
End Sub
Protected Sub dgInputs_Enhancement_Request(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
'code pour le bouton request(événement dgInputs_Enhancement_Request)
End Sub
En gros, tu dis a ton datagrid qu'il y a des événements clicks:
OnItemCommand ="dgInputs_ItemLinkClick"
Pour chaque bouton, tu donne le nom de l'événement:
CommandName="dgInputs_View_Enhancement"
Dans le code behind, tu gère l'événement click
Protected Sub dgInputs_ItemLinkClick(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
et la commande associée au bouton
Protected Sub dgInputs_Enhancement_Request(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
'code pour le bouton request(événement dgInputs_Enhancement_Request)
End Sub
cs_Yopyop
Messages postés586Date d'inscriptionlundi 7 janvier 2002StatutMembreDernière intervention10 février 20101 12 mai 2005 à 19:57
salut,
si ton datagrid est basé sur une base de données tu utilises
DataKeyField="Id"
et ensuite mondatagrid.Datakeys(e.item.ItemIndex) ou un truc du genre pour obtenir l'id de ta lgine.
Le numéro de ligne tu l'obtiens avec e.item.ItemIndex.
hellfires
Messages postés10Date d'inscriptionmardi 4 janvier 2005StatutMembreDernière intervention13 mai 2006 26 mai 2005 à 09:54
Je vient de tomber sur ce post providentiel malheureusement je débute totalement en .NET et c sur mon projet de stage....
donc sil était possible de récup le code entier par mail ce serai sympa car les exmples que j'ai trouvé pour les bouton et mm la datagrid en elle même ne sont pas clairs pour moi....
Je comprend rien!!!!
HELP!!!
Mail : mordessa@hotmail.com
Bribri ne pense qu'une et une chose...
Programmer ou être buggé!!! MDR