Binding d'objet contenant une list dans un datagridview

Spiffou Messages postés 100 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 9 juin 2014 - 27 mai 2014 à 17:25
Spiffou Messages postés 100 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 9 juin 2014 - 9 juin 2014 à 17:45
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

Whismeril Messages postés 19024 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 18 avril 2024 656
27 mai 2014 à 19:36
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


1
Spiffou Messages postés 100 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 9 juin 2014 1
9 juin 2014 à 17:45
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
0
Rejoignez-nous