2013-11-14 60 views
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 []数组

我可以在填充组合框的点确认manufacturers包含52个项目。

回答

0

DOH!

这很尴尬。

直接发布后,我注意到我正在使用Add而不是AddRange命令添加一个数组。

对不起,浪费你的时间!