Bonjour tout le monde,
Voilà mon problème :
En code behind, j'ai une boucle qui me crée des instances d'un User Control et les insère dans ma page. Une fois un userControl inséré, j'appelle sa méthode afficher(). Cette méthode modifie certains controls du UserControl.
C'est lors de la modification d'un control contenu dans le UserControl qu'on me dit que la référence est null.
Quand je fais un MyUserControl.HasControls() ça me renvoie "false"!
Voilà à quoi ressemble le code behind de ma page:
Et maintenant un extrait du code behind de mon UC
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 For Each row As DataRow In ds.Tables(0).Rows If Not dernierClient = row("ClientID") Then i = 1 End If aOnglet = True Dim content As New Control() Dim onglet As New AjaxControlToolkit.TabPanel() onglet.ID = row("ClientID") & i 'voilà mon instanciation du user control Dim myControl As New UC_Lot() uc_Lot.ID = "uc_Lot" onglet.HeaderText = row("ClientID") & " : Lot " & i content.Controls.Add(uc_Lot) onglet.Controls.Add(content) 'tabLots est de type AjaxControlToolKit.Tabcontainer tabLots.Tabs.Add(onglet) 'appel de la méthode Afficher de l'UC myControl.Afficher(...)
Si quelqu'un peut m'éclairer ce serait génial
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Private Sub Afficher(ByVal lTMALotID As Long) Dim oLot As New CLot Dim ds As DataSet ds = oLot.RechercherLesTacheduLot(lTMALotID) 'dgLot est un datagrid déclaré en dur dans mon UC With dgLot 'la ligne qui plante parce que dgLot est une reference null .DataSource = ds.Tables(0).DefaultView
Merci d'avance
Partager