Création d'un tableau de contrôle utilisateur [Résolu]

Messages postés
32
Date d'inscription
vendredi 4 novembre 2005
Statut
Membre
Dernière intervention
8 juin 2009
- - Dernière réponse : Kevin.Ory
Messages postés
843
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.
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
1100
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
15 avril 2018
3
Merci
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"

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 111 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Polack77
Messages postés
1100
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
15 avril 2018
3
Merci
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"

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 111 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Polack77
Messages postés
843
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
4
0
Merci
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..
Commenter la réponse de Kevin.Ory
Messages postés
96
Date d'inscription
mardi 29 mars 2005
Statut
Membre
Dernière intervention
10 mars 2011
2
0
Merci
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.
Commenter la réponse de JPGVB
Messages postés
32
Date d'inscription
vendredi 4 novembre 2005
Statut
Membre
Dernière intervention
8 juin 2009
0
Merci
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...
Commenter la réponse de math_gury
Messages postés
32
Date d'inscription
vendredi 4 novembre 2005
Statut
Membre
Dernière intervention
8 juin 2009
0
Merci
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...
Commenter la réponse de math_gury
Messages postés
843
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
4
0
Merci
Heu... c'est exactement ce que j'ai dis/fais dans mon précédent message... pourquoi n'est-il pas acceptable?
Commenter la réponse de Kevin.Ory

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.