DataBindings sur un DataGridView
Bonjour,
Je possède un objet défini de la façon suivante:
Code:
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:
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:
Objet A = new Objet A();
et une liste de cet objet car je n'arrive pas à obtenir qqch autrement:
Code:
1 2
| List<ObjetA> ListeTemp = new List<ObjetA>();
ListeTemp.Add(A); |
Vient ensuite l'affichage ...
Code:
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