Je personnalise les en-têtes de groupe sur un Telerik RadGrid en y injectant un LinkButton pendant l'événement ItemDataBound. Le bouton est parfaitement rendu, mais je n'arrive pas à le faire toucher les gestionnaires d'événements.LinkButton créé dynamiquement ne déclenche aucun événement
Voici le code de la création de boutons:
Private Sub rgWorkRequestItemCosts_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles rgWorkRequestItemCosts.ItemDataBound
If TypeOf e.Item Is GridGroupHeaderItem Then
Dim oItem As GridGroupHeaderItem = DirectCast(e.Item, GridGroupHeaderItem)
Dim lnkAdd As New LinkButton()
lnkAdd.ID = "lnkAdd"
lnkAdd.CommandName = "CustomAddWorkRequestItemCost"
lnkAdd.CommandArgument = DirectCast(oItem.DataItem, DataRowView).Row("nWorkRequestItemID").ToString()
lnkAdd.Text = String.Format("<img style=""border:0px"" alt="""" width=""12"" src=""{0}"" /> Add new cost", ResolveUrl(String.Format("~/App_Themes/{0}/Grid/AddRecord.gif", Page.Theme)))
lnkAdd.Style("color") = "#000000"
lnkAdd.Style("text-decoration") = "none"
AddHandler lnkAdd.Click, AddressOf lnkAdd_Click
Dim tcPlaceholder As GridTableCell = DirectCast(oItem.Controls(1), GridTableCell)
Dim litText As New LiteralControl(String.Format(" {0}", tcPlaceholder.Text))
tcPlaceholder.Text = String.Empty
tcPlaceholder.Controls.Add(lnkAdd)
tcPlaceholder.Controls.Add(litText)
End If
End Sub
Ce code ajoute explicitement un gestionnaire pour l'LinkButton, mais ce gestionnaire est jamais touché. J'ai également essayé des événements sur le RadGrid (ItemCommand, ItemEvent) mais aucun ne semble être touché.
Quelqu'un at-il des suggestions d'autres événements à essayer, ou des façons de faire ce travail?
Merci!
vous pouvez vous cellclick événement qui peut travailler pour cela.juste vérifier l'en-tête de la colonne et passer l'identifiant de la ligne. –