0

次のコードを使用して、ビジネス オブジェクトのリストからコンボボックスを作成しています。

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個のアイテムが含まれていることを確認できます。

4

1 に答える 1

0

ドー!

それは恥ずかしいです。

投稿した直後に、AddRange コマンドではなく Add を使用して配列を追加していることに気付きました。

お時間を無駄にして申し訳ありません!

于 2013-11-14T14:08:14.803 に答える