私の質問はちょっとばかげていますが、私は結果のない多くのことを試しました。コンボボックス(C#)のリスト内容の特定のフィールドを表示する
私のメインフォームにはComboBoxがあり、そのデータソースをFiltersクラスで宣言されたpublic readonly List PriceChangesリストにポイントしたいと思います。問題はありませんが、[説明]フィールドを表示します。
「説明」文字列をDisplayMember属性に割り当てようとしましたが、成功しませんでした。 My ComboBoxは各エントリの "BusinessLogic.PriceChange"のみを表示します。BusinessLogicは自分の名前空間の名前で、PriceChangeはクラスです。
何か助けていただきありがとうございます。
よろしく
Listオブジェクトを宣言しますpublic mainFrm()
{
InitializeComponent();
prodFilter = new Filters();
cbPriceChanges.DataSource = prodFilter.PriceChanges;
cbPriceChanges.DisplayMember = "Description"
}
は、コードの一部である私のメインフォームのコードの一部です
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));
}
}
説明、タイプ、ComparisonFuntionDelegateあるToStringメソッドのデフォルト値を、取得している、とComparisonFunctionは実際にプライベートであるか、プロパティに作られるべきです。 –