C#ComboBox List <object> ==&gt;始终显示相同的object.name(多次)</object>

时间:2014-08-03 20:48:25

标签: c# list object combobox

我只想让我的ComboBox向我展示

List(策展人)中对象的FullName,

但是它显示了相同的&#34; object.FullName&#34;多次: - (

-

基本上,它起作用,因为它显示了策展人之一的FullName,

和好多次,

但是它给我看了同样的一个!

public partial class SGIArt : Form
{
     public static Gallery gal = new Gallery(); // from a dll i made

     List<Curator> curList = new List<Curator>();

     public SGIArt()
     {
        InitializeComponent();
        comboCur.DataSource = curList;
        comboCur.ValueMember = null;
        comboCur.DisplayMember = "FullName";
        UpdateCurList();
    }
    public void UpdateCurList()
    {
        curList.Clear();
        foreach (Curator cur in gal.GetCurList())    
                  // from the same dll : Curators curatorsList = new Curators();
        {
            curList.Add(cur);
        }
    }
    private void comboCur_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (comboCur.SelectedValue != null)
        {
            //show info in textBox (that work fine)
        }
    }
}

策展人类:

public class Curator : Person
{

    private int id;
    private double commission;
    const double commRate = 0.25;
    private int assignedArtists = 0;

    public int CuratorID
    {
        get
        {
            return id;
        }
        set
        {
            id = value;
        }
    }
    ...

    public Curator()
    {
    }

    public Curator(string First, string Last, int curID)
        : base(First, Last) // from : public abstract class Person
    {
        id = curID;
        commission = 0;
        assignedArtists = 0;
    }

2 个答案:

答案 0 :(得分:0)

编辑:您可能正在寻找this回答。

我没有在您的代码段中看到FullName成员。我想你正在寻找这样的东西:

List<Curator> curList = new List<Curator>();

public SGIArt()
{
  InitializeComponent();
  comboCur.DataSource = datasource;
  comboCur.ValueMember = null;
  comboCur.DisplayMember = "FullName";
  UpdateCurList();
}
List<string> datasource()
{
  List<string> datasource = new List<string>();
  foreach(Curator curator in  curList)
  {
    datasource.Add(curator.FullName)//this assume FullName is an accesible member of the Curator class and is a string.
  }
  return datasource;
}

答案 1 :(得分:0)

comboBox向您显示object.FullName,因为这就是您所说的。 <{1}}在绑定时为空。

您可以在使用前更新列表:

curList