次のコードを使用して、ビジネス オブジェクトのリストからコンボボックスを作成しています。
Dim manufacturers As IList(Of ElectronicsManufacturer) = _electronicLogic.GetManufacturers(category.CategoryID)
If (manufacturers.Count > 0) Then
Me.cbxManufacturer.Enabled = True
Me.cbxManufacturer.Items.Add("(Please Select...)")
Me.cbxManufacturer.Items.Add(manufacturers.ToArray())
私が抱えている問題は、コンボボックスに文字列が表示されず、代わりにビジネス オブジェクト名が表示されることです。
通常どおり、ビジネス オブジェクトにオーバーライドを設定しました。
public class ElectronicsManufacturer
{
public ElectronicsManufacturer()
{
ManufacturerID = -1;
ManufacturerName = string.Empty;
RequireSerialNumber = false;
}
public int ManufacturerID { get; set; }
public string ManufacturerName { get; set; }
public bool RequireSerialNumber { get; set; }
public override string ToString()
{
return ManufacturerName.ToString();
}
}
しかし、コンボボックスには ElectronicsManufacturer[] Array が表示されるだけです
manufacturers
コンボボックスに52個のアイテムが含まれていることを確認できます。