La question est la suivante:
Comment affecter a un controle inclut dans un datagrid un evennement?
est il possible de le faire?
Merci pour vos reactions!
La question est la suivante:
Comment affecter a un controle inclut dans un datagrid un evennement?
est il possible de le faire?
Merci pour vos reactions!
Oui, c'est possible, mais malheureusement je ne sais pas trop comment faire.
Par contre, si une Fougère passe par là, il certainement t'expliquer. (il se reconnaitra)
Kenavo
devrai je lui ecrire ou il lit toute les discussions?
Alabama song
moi ce que je fais quand je veux obtenir un évènement d'un contrôle dans un gridview (ca doit etre pareil pour un datagrid), je sors ce contrôle du gridview je vais dans le code behind je sélectionne celui-ci (comme on fait pour nimporte quel autre contrôle) je lui donne son évènement (onclick, onselectedindexchanging,...).
Ainsi ta sub apparait et tu peux remettre ton contrôle dans ton datagrid et en faire ce que tu veux. moi je m'en sers par exemple pour faire une sélection/désélection automatique de toutes mes checkbox par une checkbox dans le header avec l'évènement "OnCheckedChanged" et un autopostback et ca marche parfaitement.
par contre si tu veux récupérer ton contrôle dans ton datagrid à un endroit précis en code behind (je crois que tu avais posé cette question dans un autre topic mais je n'ai pas regardé si c'est résolu),il faut que tu fasses comme il suit (je vais prendre le cas du linkbutton). Le pb c'est que mon cas porte que sur les gridview (qui est mieux que le datagrid d'ailleurs
)
partie aspx (dans le GV) pour être le plus clair possible :
code behind :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <asp:ButtonField ButtonType="Link" Text="voir" CausesValidation="false" CommandName="distributeur" HeaderStyle-ForeColor="white" ItemStyle-HorizontalAlign="center" HeaderText="Liste distrib" />
le reste du code peut être utile (pour le linkbutton notamment) mais le plus important est la ligne en rouge. tu peux ainsi récupérer ton contrôle inséré et le modifier à ta guise ! Je pense qu'il est possible de le faire avec un datagrid, à toi de faire des recherches si ca t'intéresses ou à poser d'autres questions !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Protected Sub ton_gv_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles ton_gv.RowCommand If e.CommandName = "distributeur" Then 'lien vers distributeurs rattachés à l'élt Dim index As Integer = Convert.ToInt32(e.CommandArgument) Dim selectedrow As GridViewRow = grid_resultSearch.Rows(index) Dim distrib_link As LinkButton = selectedrow.Cells(7).Controls(0) (...) End If End Sub![]()
J'espère avoir répondu à ta question (et pas à côté)...
![]()
Merci pour vos explications!
En se qui conserne l'evenement, j'ai fait une autre tournure, et j'ai jouer sur les evenement du datagrid (ItemCommand), et a l'interieur, je fait mes traitements avant de profiter de la ligne:
"CType(datagrid1.Items(0).FindControl("LinkButton1"), Linkbutton)" pour referencé le controle dans le datagrid.
En general, je n'aime pas chercher les tournures les plus faciles, mais, que faire kant on a que peu de temps!
Merci pour l'attention que vous avez porter pour cette discussion thewaterkidny!
Partager