math_gury
Messages postés32Date d'inscriptionvendredi 4 novembre 2005StatutMembreDernière intervention 8 juin 2009
-
6 août 2008 à 16:36
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 2009
-
7 août 2008 à 17:16
Bonjour à tous,
Je voudrais lors de chargement de ma frame créer pour chaque lignes de ma base de données un contrôle utilisateur (ici un label, mais je voudrais le faire aussi avec un un TextBox) avec le nom que je retrouve dans la base de données. cela me pose 2 problèmes :
1)- comment créer un contrôle avec un nom récupérer en base de données?
2)- comment créer un tableau de controle (comme cela était si bien en VB)
Merci à tous, n'hésitez pas à me demander des précisions si je ne suis pas clair.
Polack77
Messages postés1098Date d'inscriptionmercredi 22 mars 2006StatutMembreDernière intervention22 octobre 20191 6 août 2008 à 17:03
Bonjour ,
1)- comment créer un contrôle avec un nom récupérer en base de données?
J'ai pas vraiment compris la question ??? (Ajoute une variable de type string en public à ton control)
2)- comment créer un tableau de controle (comme cela était si bien en VB)
Tu crée une collection (ou un dico)
Le dico :
Dim NomVariable As Dictionary(Of Type de la clef, Type à mettre dans le dico)
Exemple :
Dim toto As Dictionary(Of String, UserControlConfigSource)
L'avantage est que tu est sure du type contenu par ce type de collection (j'ai entendu dire que le dico étais par contre plus lent que la collection mais je n'es jamais fait de tests)
Mais un tableau de Control est faisable ????
Dim toto(0 To 12) As UserControlConfigSource
Pour ajouter ton contole à un TabPage
TabPageToto.Controls.Add(Util)
Pour fermer un controle :
UserControlConfigSource.Dispose
Voila avec tout sa tu devrais t'en sortir
Amicalement
Pensez "Réponse acceptée"
Polack77
Messages postés1098Date d'inscriptionmercredi 22 mars 2006StatutMembreDernière intervention22 octobre 20191 7 août 2008 à 10:41
Heeeeeee tu parle d'un contrôle utilisateur (UserControl) ou d'un controle classique (textbox par esxemple) ?
Je ne crois pas que ce que tu veut faire soit possible en faite. L'idéale pour toi (à mon humble havie) serais un dico ou collection dans le/la quel/quelle tu range tes objets.
Dim Conteneur as new Dictionary(of String,Label)
Dim ObjLabel As New Label()
Conteneur.Add ("NomDuLabel",ObjLabel)
Pour retrouvé le label dans le dico :
Conteneur("NomDuLabel")
Si non fait une collection le fonctionnement est TRÈS proche de celui du dico (avec de petite subtilité en moins, le dico permet par exemple de récupérer la liste des clef dans un foreach)
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 6 août 2008 à 17:03
Salut Mathieu,
Dim TextBoxes(29) As TextBox
For i As Integer = 0 To 29
TextBoxes(i) = New TextBox
TextBoxes(i).Name = "TextBox" & i
Next i
Si tu veux ajouter l'un de tes TextBox sur un contrôle conteneur (autrement dit, l'afficher) :
TextBoxes(0).Left = 100
TextBoxes(0).Top = 100
TextBoxes(0).Width = 120
MyContener.Controls.Add(TextBoxes(0))
Tu peux évidement utiliser une list (List(Of TextBox)) ou un dictionary (Dictionary(Of Integer, TextBox)) ou tout autre liste à la place d'un simple tableau..
JPGVB
Messages postés96Date d'inscriptionmardi 29 mars 2005StatutMembreDernière intervention10 mars 20112 6 août 2008 à 17:53
Bonjour, en apparté à ton problème je te fais une suggestion:
crée une serie de textbox indexés (idem avec labels...) liés à une scrollbarre verticale.
ensuite tu te positionne sur ton recordset avec absoluteposition=vscrollbarre + index
et tu boucle avec recordset.movenext pour remplir tes textbox
Ainsi tu evite les dépassements de taille dans ta frame si trop d'enregistrements.
Si ton recordcount est inférieur au nombre de textbox, tu rend la scrollbar invisible.
Vous n’avez pas trouvé la réponse que vous recherchez ?