Binding d'objet contenant une list dans un datagridview

Signaler
Messages postés
100
Date d'inscription
jeudi 1 avril 2004
Statut
Membre
Dernière intervention
9 juin 2014
-
Messages postés
100
Date d'inscription
jeudi 1 avril 2004
Statut
Membre
Dernière intervention
9 juin 2014
-
Bonjour à tous,

j'ai un problème que je n'arrive pas à résoudre depuis quelques jours.
j'ai besoin d'afficher dans un tableau les propriétés d'une liste d'objets mais le problème est que le nombre de propriétés des objets est variable (mais identique pour tous les objets)
en résumé je voudrais binder une liste objets ci-dessous à un datagridview et avoir à chaque ligne de mon datagridview une colonne pour la propriété Id et une colonne pour chacune des valeurs listées dans ListValues

public class Objet : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;

private void NotifyPropertyChanged(string name)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(name));
}

int _id = -1;
public const String PROP_ID = "Id";
public int Id
{
set { if (_id != value) { _id = value; this.NotifyPropertyChanged(PROP_ID); } }
get { return _id; }
}

List<string> _listValues = new List<string>();
public List<string> ListValues
{
set { if (_listValues != value) { _listValues = value; } }
get { return _listValues; }
}
}

Qqun a une idée de comment procéder?

Merci pour votre aide
:)

2 réponses

Messages postés
15433
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
26 janvier 2021
503
Bonsoir, j'ai eu un problème similaire.

Voici la discussion qui retrace mes différentes solutions (remplissage cellule par cellule, Linq Dynamique, Compilation Dynamique)
http://codes-sources.commentcamarche.net/forum/oldest/1610899-linq-to-object-type-de-sortie-modulable


Messages postés
100
Date d'inscription
jeudi 1 avril 2004
Statut
Membre
Dernière intervention
9 juin 2014
1
Salut,

merci pour la réponse, mais ca ne m'a pas suffit.
j'ai donc conservé l'initialisation "manuelle" de mon DGV en désactivant le resize automatique des cellules ce qui a réglé mon problème de performance