Dans Consulte_Catalogue.aspx.vb , j'ai constitué un gridView dynamique avec ma méthode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
Private Sub ConfigGrid()
 
        Dim champ As BoundField = Nothing
        Dim ChampsTemplate As TemplateField
 
        grdArticles.Columns.Clear()
        'Constructeur
        champ = New BoundField
        champ.DataField = MOS.DAL.Constructeur.Champs.Libelle
        champ.DataFormatString = "<b>{0}</b>"
        champ.HtmlEncode = False
        champ.HeaderText = "Constructeur"
        champ.ItemStyle.HorizontalAlign = HorizontalAlign.Left
        champ.ItemStyle.VerticalAlign = VerticalAlign.Top
        champ.SortExpression = MOS.DAL.Constructeur.Champs.Libelle
        grdArticles.Columns.Add(champ)
 
        champ = New BoundField
        champ.DataField = MOS.DAL.Article.Champs.ReferenceArticle
        champ.DataFormatString = "<b>{0}</b>"
        champ.HeaderText = "Référence"
        champ.HtmlEncode = False
        champ.ItemStyle.HorizontalAlign = HorizontalAlign.Left
        champ.ItemStyle.VerticalAlign = VerticalAlign.Top
        champ.SortExpression = MOS.DAL.Article.Champs.ReferenceArticle
        grdArticles.Columns.Add(champ)
 
        champ = New BoundField
        champ.DataField = MOS.DAL.Article.Champs.Description
        champ.DataFormatString = "{0}"
        champ.HeaderText = "Descriptif"
        champ.ItemStyle.HorizontalAlign = HorizontalAlign.Left
        champ.ItemStyle.VerticalAlign = VerticalAlign.Top
        champ.SortExpression = MOS.DAL.Article.Champs.Description
        grdArticles.Columns.Add(champ)
 
 
        ChampsTemplate = New TemplateField
        ChampsTemplate.HeaderText = "Panier"
        ChampsTemplate.ItemStyle.HorizontalAlign = HorizontalAlign.Center
        ChampsTemplate.ItemStyle.VerticalAlign = VerticalAlign.Middle
        ChampsTemplate.ItemTemplate = New HelperCatalogue.MonTemplateBtn
        grdArticles.Columns.Add(ChampsTemplate)
 
    End Sub
J'appelle cette méthode à méthode à chaque Load de ma page, (sinon perte des images quand je change d'index de page de mom gridView)

HelperCatalogue est une classe d'outil
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
Imports Microsoft.VisualBasic
Imports System.Data
 
Public Class HelperCatalogue
 
    <PersistenceMode(PersistenceMode.InnerProperty)> Public Class MonTemplateBtn
        Implements ITemplate
 
        Private MyImgBtn As ImageButton
 
        Public Sub InstantiateIn(ByVal container As Control) Implements ITemplate.InstantiateIn
            MyImgBtn = New ImageButton()
 
            MyImgBtn.ID = "BtnBasket"
            MyImgBtn.CommandName = "Panier"
            MyImgBtn.CssClass = "btnPanier"
            MyImgBtn.ImageUrl = "~/images/blanc.gif"
            MyImgBtn.ToolTip = "Ajouter au panier"
            AddHandler MyImgBtn.Click, New ImageClickEventHandler(AddressOf HelperCatalogue.OnMyImgBtnClic)
            'AddHandler MyImgBtn.Click, AddressOf HelperCatalogue.OnMyImgBtnClic
            container.Controls.Add(MyImgBtn)
        End Sub
 
    End Class
 
    Shared Sub OnMyImgBtnClic(ByVal sender As Object, ByVal e As EventArgs)
        Dim btn As Button = DirectCast(sender, Button)
 
        Dim row As GridViewRow = DirectCast(btn.NamingContainer, GridViewRow)
    End Sub
 
 
End Class
Or quand je clic sur n'imortequel bouton de mom gridview:
1) il disparait ??
2) je ne passe pas dans OnMyImgBtnClic comme si mon evt n'était pas déclanché

Je sèche et cherche partout depuis jeudi dernier et rien ...
C'est la première fois que j'utilise un itemplate, quelqu'un peut-il me guider ?

Merci d'avance