IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[B.NET][ADO.NET] Créer des composants à la volée


Sujet :

Windows Forms

  1. #1
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Points : 1 453
    Points
    1 453
    Par défaut [B.NET][ADO.NET] Créer des composants à la volée
    Bonjour,

    Voila mon problème:

    J'ai une base de données dans laquelle se trouve une table Datas qui comporte un champ nommé DataCategory.

    Ce champ pointe sur une table Categories qui définit les champs à demander à l'utilisateur.

    Donc en résumé, pour une valeur Data on peut avoir x champs à remplir.

    Exemple:

    Data 1
    |_ Champ 1 (Label)
    |_ Champ 2 (TextBox)

    Data 2
    |_ Champ 2 (TextBox)
    |_ Champ 4 (ComboBox)

    Ma question est la suivante:

    Comment peut-on créer les différents contrôles sur une WinForm pour tout les champs d'une Data en particuliers.

    Ensuite, ces champs vont permettre d'alimenter la base de données donc il faut aussi détecter les évènnements associés à chaque contrôles créés à la volée.

    Merci
    La Théorie c'est quand on comprends tout mais que rien ne fonctionne.
    La Pratique c'est quand tout fonctionne mais qu'on ne sait pas pourquoi !

    Si vous aimez ma réponse, cliquez sur la main verte Merci

  2. #2
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2003
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2003
    Messages : 399
    Points : 259
    Points
    259
    Par défaut
    Si j'ai bien compris je dirais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public sub ajouterChamp()
            Dim t As New TextBox
            t.Name = "NomSystemDuTxtBox"
            t.Location = New System.Drawing.Point(15, 18)  ' position du champ sur le form
            t.DataBindings.Add(......)  ' ici faitre la liaision entre ta source de donnée et ton txtbox mais je te laisse de remplir cette fonction car j'ai peur de marquer des bétisses.
            AddHandler t.Validated, AddressOf MafunctionValider 'fonction qui sera appelé lors de l'événement Validated, j'ai pris  Validated jsute pour exemple mais tu peux changer
            Me.Controls.Add(t) 'ajoute le champ à la form
     End Sub
     
        Public Sub MafunctionValider(ByVal sender As Object, ByVal e As System.EventArgs)
            'Fait ton code valider ici
        End Sub
    et ça pour chaque champ que tu veux créer.

Discussions similaires

  1. [ADO.NET Entity Framework] génération des tables
    Par anthyme dans le forum Accès aux données
    Réponses: 3
    Dernier message: 22/02/2008, 17h44
  2. Réponses: 3
    Dernier message: 01/12/2006, 20h31
  3. [ADO.Net][C#] Comment récupérer des infos d'une table SQL ?
    Par lamojuli dans le forum Accès aux données
    Réponses: 2
    Dernier message: 11/01/2006, 16h00
  4. [vb.net] Impossible de créer le composant ActiveX [win98]
    Par arnolem dans le forum Windows Forms
    Réponses: 10
    Dernier message: 12/07/2005, 12h09
  5. [ADO.Net][VB.NET] Comment copier des données entre deux BDD différentes ?
    Par maddog2032 dans le forum Accès aux données
    Réponses: 6
    Dernier message: 06/06/2005, 11h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo