2008-12-14 6 views
0

J'ai une liste d'objets où chacun contient un nombre arbitraire de paramètres (nom, paires de valeurs). Maintenant, je veux lier la liste des objets à une liste. Chaque colonne doit représenter un paramètre (l'en-tête de colonne est le nom du paramètre) et chaque ligne un objet avec la liste des valeurs de paramètre. Comment peut-on obtenir que les colonnes, y compris les noms d'en-tête, soient créées via la liaison de données en fonction des noms des paramètres? Notez que le nombre de paramètres peut différer d'un objet à l'autre, donc l'élément de la colonne doit parfois être vide.Liaison de données ListView y compris ses colonnes

Répondre

0

Par paramètres, vous voulez dire des propriétés? Si oui, cela peut aider:
Je pense que le moteur de liaison de données prendra le premier objet et l'utilisera comme représentant pour tous les autres.
Ainsi, votre liste aura toutes les colonnes comme les propriétés du premier objet.

Pour obtenir le résultat souhaité, vous devez

  1. Créer un objet factice qui a toutes les propriétés possibles
  2. Insérer que premier élément dans la liste

Cela devrait fonctionner ... Utilisez la réflexion, lorsque vous utilisez C# :-)

+0

Désolé, non, avec les paramètres Je veux dire une collection d'objets Paramter. Un paramètre a un nom et une valeur. – bitbonk

+0

Je suppose que votre listview final ne devrait avoir qu'une seule ligne, avec toutes les valeurs de la liste . Le paramètre a 2 propriétés Nom et valeur. Essayez ceci listView.View = Détails (pour que vous puissiez voir les en-têtes des colonnes) pour chaque élément de la liste do ListView1.Columns.Add (list.Name) -> SubItems.Add (list.Value) –

Questions connexes