Bonjour,
j'ai créé une FORM contenant 12 panels.
je tente de modifier dynamiquement la couleur d'un PANEL suivant une valeur issue d'une requête SQL. Si mon SQL me retourne 1, je dois coloriser le panel "P1", si ma requette me retourne 2, 4, 7, je dois coloriser mes panel 2, 4 et 7, etc..
Dans mon exemple, la table de mon Dataset [DS.table] contient 2 valeurs suite à ma requête SQL :
Valeurs : 1 et 7
Donc je devrait voir les panel P1 et P7 devenir tout "Firebrick"
Puis je crée ma variable P as Panel pour ensuite lui associer la première valeur de mon DS :
Enfin, je vérifie ma viariable "P" afin de savoir si elle est null ou non.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Dim mJOUR_PERSO_ID As String = DS.Tables(0).Rows(i).Item("JOUR_PERSO_ID").ToString
Avec la boucle, la premiere fois mon P devrait être = à "P1" puis à "P7"
Donc je modifie mon backcolor
Malheuresement, je dois louper quelque chose puisque ma variable P reste toujours "NOTHING"
Code : Sélectionner tout - Visualiser dans une fenêtre à part P.BackColor = Color.Firebrick
Auriez vous une idée ? D'ou vient mon erreur ? Ma méthode est elle bonne ? Une autre idée pour faire cela ?
MERCI
Voici le code en entier :
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 For i As Integer = 0 To DS.Tables(0).Rows.Count - 1 Dim mJOUR_PERSO_ID As String = DS.Tables(0).Rows(i).Item("JOUR_PERSO_ID").ToString 'Panel dynamique Dim P As Panel P = CType(Me.Controls("P" & mJOUR_PERSO_ID), Panel) 'Recherche si Panel existe Dim myControl1 As Control = P If Not myControl1 Is Nothing Then P.BackColor = Color.Firebrick End If Next (i)
Partager