Création d'un tableau de contrôle utilisateur

Résolu
math_gury Messages postés 32 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 8 juin 2009 - 6 août 2008 à 16:36
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Derniè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.

Mathieu.

7 réponses

Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
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"
3
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
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)

Amicalement
Pensez "Réponse acceptée"
3
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
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..
0
JPGVB Messages postés 96 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 10 mars 2011 2
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
math_gury Messages postés 32 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 8 juin 2009
7 août 2008 à 08:22
Pour la question 1) mon problème et de pourvoie instanciée un contrôle avec un nom variable exemple :
dim toto as string = "pouet"
dim [toto] as label

le but étant que mon contrôle est comme nom "pouet"

est-ce plus clair???
J'essaye ta proposition pour la 2)
je te fais un feed back bientot...

Merci...
0
math_gury Messages postés 32 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 8 juin 2009
7 août 2008 à 11:23
Merci pour tout j'ai fait une collection et ça va bien...
Pour le reste je me suis démerder autrement...

Merci à tous pour tout...
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
7 août 2008 à 17:16
Heu... c'est exactement ce que j'ai dis/fais dans mon précédent message... pourquoi n'est-il pas acceptable?
0
Rejoignez-nous