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 :

Erreur dans l'alimentation d'une liste de class


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 36
    Points : 42
    Points
    42
    Par défaut Erreur dans l'alimentation d'une liste de class
    Bonjour,

    Je souhaite alimenter un liste contenant la class suivante :

    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
    Public Class ItemRequisition
        Public nomProprio As String
        Public civiliteProprio As String
        Public adresse1Proprio As String
        Public adresse2Proprio As String
        Public codePostalProprio As String
        Public villeProprio As String
        Public paysProprio As String
        Public nBon As Integer
        Public dateBon As Date
        Public dateEnlevement As Date
        Public vehiculeAbsent As Boolean
        Public Immatricule As String
        Public NomModeleVehicule As String
        Public GenreVehicule As String
        Public MarqueVehicule As String
        Public nomLieuStation As String
        Public nomRequerant As String
     
    End Class
    Pour ce faire, j'ai redigé le code suivant :
    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
    Dim listeRequisitions As New List(Of ItemRequisition)
            Dim itemRequisition As New ItemRequisition
            Dim row As GridViewRow
            Dim lblgv As Label
            For Each row In gvRecherche.Rows
                If row.RowType = DataControlRowType.DataRow Then
                    With itemRequisition
                        lblgv = row.FindControl("lblDateBon")
                        .dateBon = lblgv.Text
                        lblgv = row.FindControl("lblEnlevement")
                        If Len(lblgv.Text) > 0 Then
                            .dateEnlevement = lblgv.Text
                        Else
                            .dateEnlevement = Nothing
                        End If
                        lblgv = row.FindControl("lblImatriculation")
                        .Immatricule = lblgv.Text
                        lblgv = row.FindControl("lblGenre")
                        .GenreVehicule = lblgv.Text
                        lblgv = row.FindControl("lblMarque")
                        .MarqueVehicule = lblgv.Text
                        lblgv = row.FindControl("lblModele")
                        .NomModeleVehicule = lblgv.Text
                        lblgv = row.FindControl("lblCivilite")
                        .civiliteProprio = lblgv.Text
                        lblgv = row.FindControl("lblNomPro")
                        .nomProprio = lblgv.Text
                        lblgv = row.FindControl("lblAdresse1")
                        .adresse1Proprio = lblgv.Text
                        lblgv = row.FindControl("lblAdresse2")
                        .adresse2Proprio = lblgv.Text
                        lblgv = row.FindControl("lblCp")
                        .codePostalProprio = lblgv.Text
                        lblgv = row.FindControl("lblVille")
                        .villeProprio = lblgv.Text
                        lblgv = row.FindControl("lblPays")
                        .paysProprio = lblgv.Text
                        lblgv = row.FindControl("lblRequerant")
                        .nomRequerant = lblgv.Text
                        lblgv = row.FindControl("lblLieu")
                        .nomLieuStation = lblgv.Text
                        lblgv = row.FindControl("lblVehiculeAbsent")
                        .vehiculeAbsent = lblgv.Visible
     
                    End With
                    listeRequisitions.Add(itemRequisition)
     
                End If
     
            Next
    J'obtiens bien une liste contenant le nombre de class que je souhaite recuperer. Mais les elements de de la liste sont tous identique au dernier ajouté. Au debugage les elements sont bien ajouté mais à chaque nouvel ajout, leur contenu est remplacé par le contenu de l'élèment ajouté.

    J'espere avoir été claire dans mes explications.
    Dans l'attente de votre aide,

    Bonne journée

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,
    Citation Envoyé par m_brun Voir le message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim listeRequisitions As New List(Of ItemRequisition)
            Dim itemRequisition As New ItemRequisition
            Dim row As GridViewRow
            Dim lblgv As Label
            For Each row In gvRecherche.Rows
                If row.RowType = DataControlRowType.DataRow Then
                    With itemRequisition
    '...
    les elements de de la liste sont tous identique au dernier ajouté.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim listeRequisitions As New List(Of ItemRequisition)
            Dim itemRequisition As ItemRequisition 'Déclaration
            Dim row As GridViewRow
            Dim lblgv As Label
            For Each row In gvRecherche.Rows
                ' un nouveau
                itemRequisition = New ItemRequisition
     
                If row.RowType = DataControlRowType.DataRow Then
                    With itemRequisition
    '...
    A+, Hervé.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 36
    Points : 42
    Points
    42
    Par défaut
    Merci pour votre aide.

    Bonne journée

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

Discussions similaires

  1. Erreur sur la création d'une liste dans une boucle
    Par mbouhlel dans le forum Général Python
    Réponses: 2
    Dernier message: 16/12/2013, 19h59
  2. Réponses: 7
    Dernier message: 29/04/2007, 10h37
  3. Réponses: 5
    Dernier message: 21/07/2006, 11h21
  4. Réponses: 9
    Dernier message: 27/03/2006, 11h40
  5. erreur dans l'execution d'une requete
    Par marsupilami34 dans le forum Requêtes
    Réponses: 4
    Dernier message: 06/09/2005, 16h47

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