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 :

Remplir TextBox par Button


Sujet :

VB.NET

  1. #1
    Membre régulier Avatar de MADA BLACK
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2015
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 253
    Points : 123
    Points
    123
    Par défaut Remplir TextBox par Button
    Bonjour Forums
    Bonjour tout le monde
    S'il vous plait gentelman .. si vous pouvez m'aider a resoudre ce probleme
    DataGridView1 sera remplit par 1 ligne ou 2 lignes ou 3 lignes .. au maximum 5 lignes.. et j'ai 3 colonnes
    Je veux lorsque je click sur Button1 alors les TextBox de 1 jusqu'a 15 seront remplis par les donnees affichees sur DataGridView1
    Les TextBox de 1 a 3 seront remplis par la premiere ligne
    Les TextBox de 4 a 6 seront remplis par la deuxieme ligne
    Les TextBox de 7 a 9 seront remplis par la troisieme ligne
    Les TextBox de 10 a 12 seront remplis par la quatrieme ligne
    Les TextBox de 13 a 15 seront remplis par la cinquieme ligne
    Par exemple .. si j'ai sur DataGridView1 uniquement 3 lignes alors dans ce cas les TextBox de 10 a 15 seront biensur vides ..
    j'ai essaye avec ce code que je l'ai trouve simplement au NET mais la malheur si j'ai sur DataGridView1 seulement 3 lignes .. ca ne fonctionne pas .. il fonctionne tres bien si j'ai sur DataGridView 4 ou 5 lignes mais 1 ou 2 ou 3 lignes ca ne fonctionne pas et les TextBox restent vides ..
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
     
     
        Dim i As New List(Of Integer)
        For Each r As DataGridViewRow In DataGridView1.Rows
            i.Add(r.Index)
            If i.Count = 5 Then
     
                Dim r1 As DataGridViewRow = DataGridView1.Rows(i(0))
                TextBox1.Text = r1.Cells(0).Value
                TextBox2.Text = r1.Cells(1).Value
                TextBox3.Text = r1.Cells(2).Value
     
                Dim r2 As DataGridViewRow = DataGridView1.Rows(i(1))
                TextBox4.Text = r2.Cells(0).Value
                TextBox5.Text = r2.Cells(1).Value
                TextBox6.Text = r2.Cells(2).Value
     
                Dim r3 As DataGridViewRow = DataGridView1.Rows(i(2))
                TextBox7.Text = r3.Cells(0).Value
                TextBox8.Text = r3.Cells(1).Value
                TextBox9.Text = r3.Cells(2).Value
     
                Dim r4 As DataGridViewRow = DataGridView1.Rows(i(3))
                TextBox10.Text = r4.Cells(0).Value
                TextBox11.Text = r4.Cells(1).Value
                TextBox12.Text = r4.Cells(2).Value
     
                Dim r5 As DataGridViewRow = DataGridView1.Rows(i(4))
                TextBox13.Text = r5.Cells(0).Value
                TextBox14.Text = r5.Cells(1).Value
                TextBox15.Text = r5.Cells(2).Value
     
                Exit For
            End If
        Next
    End Sub
    Je ne sais pourquoi ??
    Merci beaucoup d'avance pour l'aide
    Amicalement
    MADA

  2. #2
    Membre émérite Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Points : 2 865
    Points
    2 865
    Par défaut
    Bonjour Mada,

    Normal (je crois) que ça ne marche pas car tu as placé un test "grâce" auquel les TextBox ne sont remplies que lorsqu’il y a 5 lignes, donc s'il y en a moins ...

    Dim i As New List(Of Integer)
    For Each r As DataGridViewRow In DataGridView1.Rows
    i.Add(r.Index)
    If i.Count = 5 Then
    ' ... ... ...


    J'espère que ceci t'indiquera une bonne piste ...

  3. #3
    Membre régulier Avatar de MADA BLACK
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2015
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 253
    Points : 123
    Points
    123
    Par défaut
    Bonjour Phil Rob
    Tres gentil de votre part
    J'ai pas fais attention a cet (if) .. je vais essayer des que je rentre chez moi
    Cordialement
    MADA

  4. #4
    Membre régulier Avatar de MADA BLACK
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2015
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 253
    Points : 123
    Points
    123
    Par défaut
    Phil Rob
    Cher gentelman
    Vraiment un cauchemar ..
    Lorsque j'ai efface cette ligne : If i.Count = 5 Then aussi j'ai efface End if au dessous du code
    J'ai essaye d'executer le code alors j'ai obtenu cet erreur ( L'index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection.) au niveau de cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Dim r2 As DataGridViewRow = DGV_CANDIDATE.Rows(i(1))
    Amicalement
    MADA

  5. #5
    Membre émérite Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Points : 2 865
    Points
    2 865
    Par défaut
    Re,

    Je te propose d'essayer ceci (c'est plus court):
    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
        Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
     
            Dim IndexLigne As Integer
            Dim IndexTextBox As Integer
     
            Dim TB(15) As TextBox
     
            For Each Obj As Object In Me.Controls
                If Obj.GetType.Name = "TextBox" Then
                    IndexTextBox = Obj.Name.Substring(7)
                    TB(IndexTextBox) = Obj
                End If
            Next
     
            IndexTextBox = 1
            For IndexLigne = 0 To DataGridView1.Rows.Count - 1
                If Not DataGridView1.Item(0, IndexLigne).Value Is Nothing Then TB(IndexTextBox).Text = DataGridView1.Item(0, IndexLigne).Value
                If Not DataGridView1.Item(0, IndexLigne).Value Is Nothing Then TB(IndexTextBox + 1).Text = DataGridView1.Item(1, IndexLigne).Value
                If Not DataGridView1.Item(0, IndexLigne).Value Is Nothing Then TB(IndexTextBox + 2).Text = DataGridView1.Item(2, IndexLigne).Value
                IndexTextBox += 3
            Next
    End Sub

  6. #6
    Membre régulier Avatar de MADA BLACK
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2015
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 253
    Points : 123
    Points
    123
    Par défaut
    Merci beaucoup Phil Rob pour l'aide
    Malheureusement j'ai obtenu cet erreur ..
    Nom : p_1174kuonr1.jpg
Affichages : 367
Taille : 262,9 Ko
    Amicalement
    MADA

  7. #7
    Membre régulier Avatar de MADA BLACK
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2015
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 253
    Points : 123
    Points
    123
    Par défaut
    Merci Beucoup maitre Phil Rob
    C'etait ma faute .. votre code ca fonctionne tres tres bien
    Merci pour l'aide et pour cet impeccable et court et efficace code
    Parfaitement resolu
    Amicalement
    MADA

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

Discussions similaires

  1. Remplir textbox par rapport a combobox
    Par Damiens29 dans le forum C#
    Réponses: 0
    Dernier message: 10/01/2013, 15h06
  2. Réponses: 2
    Dernier message: 19/11/2010, 09h16
  3. [XL-2007] Remplir un textbox par le plus grand nombre d'une colonne
    Par dodo28 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/11/2009, 16h42
  4. remplir textbox par une requete
    Par mawkli dans le forum ASP.NET
    Réponses: 9
    Dernier message: 23/05/2007, 16h01
  5. [VB.NET][PDA]Remplir 2 textbox par liste de valeurs
    Par tostinni dans le forum Windows Forms
    Réponses: 2
    Dernier message: 12/12/2005, 21h58

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