Eh bien, ma question est un peu stupide, mais j'ai essayé beaucoup de chose différente sans résultat. J'ai un ComboBox dans mon formulaire principal et je veux pointer sa source de données vers la liste publique PriceChanges en lecture seule déclarée dans la classe Filters. Pas de problème avec ça mais je veux lister le champ Description.Afficher le contenu du champ spécifique de liste dans un ComboBox (C#)
J'ai essayé d'attribuer la chaîne "Description" à l'attribut DisplayMember sans succès. Mon ComboBox listes uniquement: "BusinessLogic.PriceChange" pour chaque entrée, où BusinessLogic est le nom de mon espace de noms et PriceChange la classe.
J'apprécie toute aide.
Cordialement
Cela fait partie du code de ma forme principale
public mainFrm()
{
InitializeComponent();
prodFilter = new Filters();
cbPriceChanges.DataSource = prodFilter.PriceChanges;
cbPriceChanges.DisplayMember = "Description"
}
C'est fait partie du code qui déclare la liste objet
public enum PriceChangeTypes
{
No_Change,
Increased,
Decreased,
All
}
public class PriceChange
{
public String Description;
public readonly PriceChangeTypes Type;
public delegate bool ComparisonFuntionDelegate(Decimal a);
public readonly ComparisonFuntionDelegate ComparisonFunction;
public PriceChange(String Description, PriceChangeTypes type , ComparisonFuntionDelegate CompFunc)
{
this.Description = Description;
Type = type;
ComparisonFunction = CompFunc;
}
}
public class Filters
{
public readonly List<PriceChange> PriceChanges = null;
public Filters()
{
PriceChanges = new List<PriceChange>();
PriceChanges.Add(new PriceChange("No Change", PriceChangeTypes.No_Change, PriceChange => PriceChange == 0));
PriceChanges.Add(new PriceChange("Increased", PriceChangeTypes.Increased, PriceChange => PriceChange > 0));
PriceChanges.Add(new PriceChange("Decreased", PriceChangeTypes.Decreased, PriceChange => PriceChange < 0));
PriceChanges.Add(new PriceChange("All", PriceChangeTypes.All, a => true));
}
}
description, le type, ComparisonFuntionDelegate et La fonction ComparisonFunction doit être privée ou transformée en propriétés. –