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 :

Probleme avec Arraylist


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien en developpement informatique
    Inscrit en
    Mars 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Technicien en developpement informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 6
    Par défaut Probleme avec Arraylist
    salut tout le monde.
    j'ai une collection arraylist qui stock un objet Client qui possède un code ,un nom,prénom,téléphone,et ville. si je veux consulté un client pour voir ses information je doit le consulté par son code et afficher ses informations dans une listview. mais le problème c'est quand je clic sur la bouton consulté rien ne s'affiche sur la listview.
    voici le code que j'ai écrit pour afficher sur la listview:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    dim al as new arraylist
    If Val(txtCode.Text) = al.Item(i).Code Then
                        Dim lv As New ListViewItem
                        lv.Text = al(i).Code
                        lv.SubItems.Add(al.Item(i).Nom)
                        lv.SubItems.Add(al.Item(i).Adresse)
                        lv.SubItems.Add(al.Item(i).Tel)
                        lv.SubItems.Add(al.Item(i).Ville)
                        ListView1.Items.Add(lv)
    End If

  2. #2
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Tu peux utiliser la balise CODE du forum, ça sera plus lisible.

    Pour ce qui est de ton problème, cette ligne risque de ne pas faire ce que tu en attends :

    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    If Val(txtCode.Text) = al.Item(i).Code Then

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Ca m'étonnerait que ce soit ton vrai code, parce que al.Item(i) sur une liste vide (tu viens de la créer), ça lève une exception...

  4. #4
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Surtout que c'est une affection et pas une comparaison et que i n'est pas défini...

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Er3van Voir le message
    Surtout que c'est une affection et pas une comparaison
    Non, c'est bien une comparaison en VB... le même opérateur sert pour l'affectation et la comparaison, selon le contexte (oui, VB est vraiment un langage de m***e... je crois que je préfère encore PHP )

  6. #6
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Autant pour moi...

    Mais je te rejoins sur la conclusion !

  7. #7
    Membre du Club
    Homme Profil pro
    Technicien en developpement informatique
    Inscrit en
    Mars 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Technicien en developpement informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 6
    Par défaut
    al.Item(i) C’est une liste que je la remplis avant que je clic sur la boutant consulter. Et à propos de i je l’ai déjà déclaré voilà le code de A à Z:
    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
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
                For i As Integer = 0 To al.Count - 1
                    If Val(txtCode.Text) = al(i).Code Then
                        Dim lv As New ListViewItem
                        lv.Text = al(i).Code
                        lv.SubItems.Add(al(i).Nom)
                        lv.SubItems.Add(al(i).Adresse)
                        lv.SubItems.Add(al(i).Tel)
                        lv.SubItems.Add(al(i).Ville)
                        ListView1.Items.Add(lv)
                    End If
     
                Next
     
        End Sub

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Tu as essayé de déboguer pas à pas ? Mets un point d'arrêt au début de la boucle For (clic dans la marge) et exécute pas à pas (F10) pour voir ce qu'il se passe

  9. #9
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut arraylist & listview
    bonjour
    Le control listview n'est pas simple d'emploi.
    Voici le code qui le remplit convenablement surtout en mode details.
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    'Utilise System.Reflection pour recuperer les noms de champs ou de proprietes
    'de ta classe .Surtout s'il y a beaucoup de champs ou proprietes 
     
    Imports System.Reflection
     
    Public Class Form4
        Dim al As ArrayList = New ArrayList
        Private Sub Form4_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim obj As MaClasse = New MaClasse
            For i As Integer = 0 To 9
                obj = New MaClasse
                obj.Code = (i + 1)
                obj.Nom = "NomItem " & (i + 1).ToString
                obj.Adresse = "AdresseItem " & (i + 1).ToString
                obj.Tel = "TelItem " & (i + 1).ToString
                obj.Ville = "VilleItem " & (i + 1).ToString
                al.Add(obj)
            Next
        End Sub
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            'METS PROPRIETE View À DETAILS
            ListView1.View = View.Details
            For I As Integer = 0 To al.Count - 1
                If Integer.Parse(txtCode.Text) = al(I).Code Then
                    Dim lv As New ListViewItem
                    'SI TU OMETS LES COLONNES  ListView N'AFFICHE RIEN
                    ' Add columns and set their text.
                    Dim t As Type = GetType(MaClasse)
                    Dim k As Integer = 0
                    For Each fi As FieldInfo In t.GetFields
                        Me.ListView1.Columns.Add(New ColumnHeader)
                        Me.ListView1.Columns(k).Text = fi.Name
                        k = k + 1
                    Next
                    'SINON VOICI LE CODE "EN DUR" POUR AJOUT DES COLONNES
                    'Me.ListView1.Columns.Add(New ColumnHeader)
                    'Me.ListView1.Columns(0).Text = al(I).Code.ToString
                    'ListView1.Columns.Add(New ColumnHeader)
                    'ListView1.Columns(1).Text = al(I).Nom
                    'ListView1.Columns.Add(New ColumnHeader)
                    'ListView1.Columns(2).Text = al(I).Adresse
                    'ListView1.Columns.Add(New ColumnHeader)
                    'ListView1.Columns(3).Text = al(I).Tel
     
                    lv.Text = al(I).Code
                    lv.SubItems.Add(al(I).Nom)
                    lv.SubItems.Add(al(I).Adresse)
                    lv.SubItems.Add(al(I).Tel)
                    lv.SubItems.Add(al(I).Ville)
     
                    ListView1.Items.Add(lv)
                End If
            Next
        End Sub
     
     
    End Class
    Public Class MaClasse
        Public Code As Integer
        Public Nom As String
        Public Adresse As String
        Public Tel As String
        Public Ville As String
        Public Sub New()
            Code = 0
            Nom = ""
            Adresse = ""
            Tel = ""
            Ville = ""
        End Sub
    End Class
    bon code....

Discussions similaires

  1. probleme avec ArrayList
    Par Bigoodheart dans le forum Collection et Stream
    Réponses: 15
    Dernier message: 22/03/2010, 13h30
  2. probleme avec ArrayList
    Par guitariste dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 02/05/2008, 23h00
  3. probleme avec le changement dans une ArrayList
    Par Hisoka_Hunter dans le forum C#
    Réponses: 1
    Dernier message: 15/02/2008, 17h56
  4. Probleme avec ArrayList
    Par AoSiX dans le forum C#
    Réponses: 10
    Dernier message: 30/01/2008, 22h18
  5. [ArrayList] probleme avec add
    Par Magical dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 27/07/2007, 15h39

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