Hierarchie des controles / accés à un objet qui se trouve dans un autre objet

Résolu
Messages postés
72
Date d'inscription
jeudi 30 novembre 2000
Statut
Membre
Dernière intervention
10 novembre 2008
-
Messages postés
72
Date d'inscription
jeudi 30 novembre 2000
Statut
Membre
Dernière intervention
10 novembre 2008
-
Je souhaite accéder à un datagrid qui se trouve dans un repeater. Je souhaite ensuite agir sur l'événement RowDataBound pour jouer sur la mise en forme par rapport au valeur de ma base...
Seulement voila, quand j'utilise la méthode MaGrid_RowDataBound, j'ai une erreur :
BC30506: La clause Handles requiert une variable WithEvents définie dans le type
conteneur ou l'un de ses types de base.
En effet, le framework ne peut excecuter ma demande car il ne trouve pas l'objet datagrid qui se trouve dans un autre objet...
Comment dois-je procéder pour modifier des valeurs de ma dataGrid avec du code suivant les données de ma BD ?
je sais que pour les controles style label ou autre on instancie un nouveau control label puis on utilise la methode findcontrol mais une fois qu'on a récupérer la grid comment fait on pour modifier des valeurs de façon dynamique ?
Merci d'avance pour votre aide

6 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Membre
Dernière intervention
13 octobre 2010
30
tsss

protected sub GridCircuitDepart_RowDataBound(object as sender, e as trucEventArgs)

end sub

on fait addressof renvoie une sorte de pointeur sur fonction ....

<hr />Cyril - MVS - MCP
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Membre
Dernière intervention
13 octobre 2010
30
Bonsoir,


Il faut tout d'abord s'abonner à l'evenement itemdatabound de ton repeater puis à l'intérieur de l'event tu t'abonnes à l'event rowdatabound du gridview et tu binds ton gridview ici.

Tu recuperes le gridview en utilisant e.item.findcontrol("legridview") dans l'event itemdatabound :-)





<hr />
Cyril - MVS - MCP
Messages postés
72
Date d'inscription
jeudi 30 novembre 2000
Statut
Membre
Dernière intervention
10 novembre 2008

J'arrive à récupérer mon gridview mais je ne vois pas comment boucler dedans car je ne voix pas comment récupérer l'événement.

Protected Sub MyDataList_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles MyDataList.ItemDataBound        If e.Item.ItemType ListItemType.Item Or e.Item.ItemType ListItemType.AlternatingItem Then
            Dim drv As System.Data.DataRowView = CType(e.Item.DataItem, System.Data.DataRowView)
            Dim MyGrid As GridView
            MyGrid = e.Item.FindControl("MyGrid")

            If Not IsDBNull(drv.Item("MonChampDeBD")) Then
                'configuration des parametres circ et cat
                SqlCircuitDepart.SelectParameters(0).DefaultValue = Request.QueryString("circ")
                SqlCircuitDepart.SelectParameters(1).DefaultValue = drv.Item("MonChampDeBD")

                GridCircuitDepart.DataSource = SqlCircuitDepart
                GridCircuitDepart.DataBind()
                'La je vois pas comment faire + pour boucler dans le gridView = Please Help...

            End If
        End If
    End Sub
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Membre
Dernière intervention
13 octobre 2010
30
avant le DataBind du gridview tu t'abonnes à l'evenement

AddHandler GridCircuitDepart.RowDatabound, AddressOf GridCircuitDepart_RowDatabound

<hr />Cyril - MVS - MCP
Messages postés
72
Date d'inscription
jeudi 30 novembre 2000
Statut
Membre
Dernière intervention
10 novembre 2008

il me dit
Le nom 'GridCircuitDepart_RowDataBound' n'est pas déclaré

Je sais pas comment déclaré ce truc...
N'aurait tu pas un bout de code complet qui trainerais... Je sais j'abuse (c'est bientot toi qui va développer mon site bientot  )

Messages postés
72
Date d'inscription
jeudi 30 novembre 2000
Statut
Membre
Dernière intervention
10 novembre 2008

merci m'sieur !