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

VB.NET Discussion :

pb recuperation données textbox dynamique


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 162
    Par défaut pb recuperation données textbox dynamique
    Bonjour a tous et merci d'avance pour votre aide.

    Je suis débutante, en stage, a créer un appli de gestion de commerce.

    J'ai créer dynamiquement dans un form 2 colonnes de textbox :

    la 1ere alimentée parles données de mon datareader de ma BDD
    la 2eme doit etre remplié par l'utilisateur.

    Et cette 2eme colonne je n'arrive pas a trouver comment retrouver ces données rentrée par l'utilisateur apres clic sur un bouton.

    Je suis dessus depuis 2 jours et je ne trouve pas, je suis un peu desesperée. je sais que ca a un rapport avec une collection, mais je n'en avais jamais vraiment manipuler.

    J'espere que vous pourrez m'aider.

  2. #2
    Membre chevronné Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Par défaut
    Salut,
    qu'entends-tu par créer "dynamiquement" des textboxes ? Tu les a créées par le code? SI tel est le cas, ajoute-les par exemple dans une collection du style dictionary<> déclaré comme champ de ton formulaire pour les retrouver par la suite, et récupère les infos avec par ex. "myDictionary[cleDeMaTextBoxToto].Text"

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 162
    Par défaut
    oui j'ai crée mes textbox en code, suivant le nombre d'enregistrement de ma BDD
    Comment je les ajoute dans une collection, dans ma boucle de création ?
    c'est une partie qui est completement obscur pour moi.
    Merci

    je te fais un copie de mon code de creation ca t'aidera peut etre a m'aider...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    Pbox = New TextBox
                    Me.Controls.Add(Pbox)
     
     
                    Pbox.name = "TextPrix" & x + 1
                    Pbox.text = ""
                    Pbox.width = 70
                    Pbox.height = 20
                    Pbox.Left = 385
                    Pbox.top = 237 + (x * 27)

  4. #4
    Membre Expert
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Par défaut
    Bonjour,

    Pbox.name = "TextPrix" & x + 1
    J'imagine déjà que cette variable "x" est incrémentée à chaque nouveau contrôle Textbox que tu ajoutes.

    le plus simple ici à mon avis serait de faire quelque chose comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ' A mettre en tant que variable de la classe
    ' Va stocker le contenu de tes TextBox
    Private champs As New StringDictionary()
    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
    16
    17
    18
    19
    20
    21
    22
     
    ' A mettre dans ta procédure de création
    ' nbEnreg = nombre d'enregistrements de ta BDD
    For cptTextBox As Integer = 0 To nbEnreg - 1
        Using PBox As New TextBox()
            With PBox
                .Name = String.Format("TextPrix{0}", cptTextBox + 1)
                .Text = String.Empty
                .Width = 70
                .Height = 20
                .Left = 385
                .Top = 237 + (cptTextBox * 27)
                ' Ajoute un élément dans le dictionnaire
                ' Avec le nom du TextBox comme clef initialisé à vide
                champs.Add(.Name, String.Empty)
                ' Crée un gestionnaire d'évènement commun
                ' à tout tes TextBox pour l'évènement LostFocus
                AddHandler .LostFocus, AddressOf mesTextBox_LostFocus
            End With
            Controls.Add(PBox)
        End Using
    Next
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ' A ajouter quelque part dans ta classe
    ' le gestionnaire de l'évènement LostFocus de tes TextBox
    Private Sub mesTextBox_LostFocus(ByVal sender As Object, e As EventArgs)
        ' Récupère le contrôle (TextBox) qui a provoqué l'évènement
        Dim cibleTextBox as TextBox = DirectCast(sender, TextBox)
        ' Modifie la valeur du dictionnaire correspondant à ce TextBox
        champs(cibleTextBox.Name) = cibleTextBox.Text
    End Sub
    Il ne te restera plus qu'à récupérer les valeurs du dictionnaire lors du clic sur le bouton.

    En espérant avoir pu t'aider, n'hésite pas à demander si le besoin s'en fait ressentir.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 162
    Par défaut
    merci de m'avoir repondu, je vais essayer ca, ce soir ou demain
    je te tiens au courant.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 162
    Par défaut
    bon j'ai essayé et mes textbox ne s'affiche plus du tout

    je sais pas si ca change quelques chose mais en meme temps que je crée ces textboxs, j'en crée d'autres et des combobox...peut etre que ca derange..en tout cas eux s'affiche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-E] UserForm avec textbox "Dynamique"
    Par Alex_Kidd dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/05/2006, 00h29
  2. [Tableaux] PB recuperation données type enum/set
    Par Tr@nkill dans le forum Langage
    Réponses: 2
    Dernier message: 05/04/2006, 16h49
  3. Recuperation donnée dans tierce application
    Par petitcoucou31 dans le forum Langage
    Réponses: 3
    Dernier message: 10/02/2006, 12h12
  4. [vb.net] définir un textbox dynamiquement
    Par arnolem dans le forum Windows Forms
    Réponses: 13
    Dernier message: 05/12/2005, 15h51
  5. Recuperer Variable Textbox
    Par Didier57 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/08/2005, 14h51

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