Bonjour,

Je possède un objet défini de la façon 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
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
public class ObjetA
    {
        private string var1;
        public string Var1
        {
            get
            {
                return var1;
            }
            set
            {
                var1 = value;
            }
        }
 
        private ObjetB b;
        public ObjetB B
        {
            get
            {
                return b;
            }
        }
 
        public ObjetA()
        {
            var1 = "test1";
            B = new ObjetB();
        }
    }
    public class ObjetB
    {
        private string var2;
        public string Var2
        {
            get
            {
                return var2;
            }
            set
            {
                var2 = value;
            }
        }
 
        public ObjetB()
        {
            var2 = "test2";
        }
    }
Je souhaiterais afficher les données de mon objet sous forme d'une ligne et deux colonne (var1 et var2) dans un datagridview avec du databinding mais j'ai quelques soucis !

J'ai donc créé un datagridview (datagrigview1) auquel j'ai ajouté 2 colonnes de type DataGridViewTextBowColumn :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Column1.DataPropertyName = "Var1";
Column1.HeaderText = "Column1";
Column1.Name = "Column1";
 
Column2.DataPropertyName = "B.Var2";
Column2.HeaderText = "Column2";
Column2.Name = "Column2";
Ensuite je crée mon objet que je souhaite afficher :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Objet A = new Objet A();
et une liste de cet objet car je n'arrive pas à obtenir qqch autrement:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
List<ObjetA> ListeTemp = new List<ObjetA>();
ListeTemp.Add(A);
Vient ensuite l'affichage ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
dataGridView1.AutoGenerateColumns = false;
dataGridView1.DataSource = ListeTemp;
Je ne parviens de cette manière à afficher que var1 ...

Je me pose donc plusieures questions ...
1- Est-on obligé de passer par des listes même si on ne souhaite afficher qu'une ligne dans un DGV?
2- Le binding que je souhaite mettre en place est-il réalisable ?


Merci