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 :

DataGridView lié à List(Of)


Sujet :

Windows Forms

  1. #1
    Membre habitué Avatar de kimausoleil
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2004
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2004
    Messages : 126
    Points : 135
    Points
    135
    Par défaut DataGridView lié à List(Of)
    Bonjour à tous !

    A la découverte des DataGridView, j'ai "bindé" avec une liste de generics.
    Donc j'obtiens des colonnes automatiques...

    Seulement, ça ne me plait pas totalement... Voici mon exemple :

    Voici mon datasource
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .DataSource = LocaliteManager.GetInstance().FindAll()
    qui récupère donc une liste typée List(of Localite)

    Mon objet Localite se présente ainsi :
    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
     
        Public Class Localite
     
            Private _id As Int32
            Public Property Id() As Int32
                Get
                    Return _id
                End Get
                Set(ByVal value As Int32)
                    _id = value
                End Set
            End Property
     
            Private _codepostal As String
            Public Property CodePostal() As String
                Get
                    Return _codepostal
                End Get
                Set(ByVal value As String)
                    _codepostal = value
                End Set
            End Property
     
            Private _ville As String
            Public Property Ville() As String
                Get
                    Return _ville
                End Get
                Set(ByVal value As String)
                    _ville = value
                End Set
            End Property
     
            Private _pays As Pays
            Public Property Pays() As Pays
                Get
                    Return _pays
                End Get
                Set(ByVal value As Pays)
                    _pays = value
                End Set
            End Property
     
        End Class
    Comme vous pouvez le voir, j'ai une propriété Pays qui me renvoie un objet Pays :
    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
     
        Public Class Pays
     
            Private _id As Int32
            Public Property Id() As Int32
                Get
                    Return _id
                End Get
                Set(ByVal value As Int32)
                    _id = value
                End Set
            End Property
     
            Private _nom As String
            Public Property Nom() As String
                Get
                    Return _nom
                End Get
                Set(ByVal value As String)
                    _nom = value
                End Set
            End Property
     
            Private _hasCodePostal As Boolean
            Public Property CodePostalObligatoire() As Boolean
                Get
                    Return _hasCodePostal
                End Get
                Set(ByVal value As Boolean)
                    _hasCodePostal = value
                End Set
            End Property
     
            Public Overrides Function ToString() As String 
                Return "[" & Me.GetType().Name & " : " & _id & "] = " & _nom
            End Function
     
        End Class
    Voilà !

    Quand mon DataGridView "binde" par le biais de mon datasource, il m'affiche donc :
    • Id de la localité
    • CodePostal (de la localité)
    • Ville (de la localité)
    • Pays avec sa représentation ToString de l'objet Pays


    Mon "problème", c'est que j'aimerai que s'affiche les propriétés de mon objet Pays, telles que :
    • Id de la localité
    • CodePostal (de la localité)
    • Ville (de la localité)
    • Id du pays
    • Nom du pays
    • CodePostalObligatoire du pays


    J'espère avoir été assez clair, en vous remerciant d'avance pour vos suggestions.

  2. #2
    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 : 42
    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
    Points : 39 749
    Points
    39 749
    Par défaut
    On ne peut pas le faire directement, il faut créer des propriétés supplémentaires dans Localité : Pays_Id, Pays_Nom etc, qui vont chercher les valeurs des propriétés de Pays et Ville

    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
            Public Property Pays_Id() As Int32
                Get
                    Return _pays.Id
                End Get
                Set(ByVal value As Int32)
                    _pays.Id = value
                End Set
            End Property
     
            Public Property Pays_Nom() As String
                Get
                    Return _pays.Nom
                End Get
                Set(ByVal value As String)
                    _pays.Nom = value
                End Set
            End Property

  3. #3
    Membre habitué Avatar de kimausoleil
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2004
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2004
    Messages : 126
    Points : 135
    Points
    135
    Par défaut
    ok...

    Merci pour le conseil !

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

Discussions similaires

  1. DataGridView et List<object>
    Par GGelec dans le forum Windows Forms
    Réponses: 3
    Dernier message: 07/12/2012, 22h58
  2. [Débutant] DataGridView et Liste deroulante
    Par shaun_the_sheep dans le forum Windows Forms
    Réponses: 2
    Dernier message: 09/07/2012, 15h56
  3. Affichage List dans datagridview.
    Par ducker88 dans le forum C#
    Réponses: 7
    Dernier message: 01/07/2007, 00h13
  4. liste déroulante dans un datagridview
    Par robocop2776 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 15/01/2007, 21h20
  5. [c#] DataGridView List<>
    Par meli0207 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 18/05/2006, 12h41

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