簡體   English   中英

ComboBox不會加載用戶

[英]ComboBox doesn't load users

private void LoadUsersToComboBox()
{
    comboBox1.DataSource = null;
    comboBox1.DataSource = peopleRepo.FindAllPeople(); /*Returns IQueryable<People>*/
    comboBox1.DisplayMember = "Name";
    comboBox1.ValueMember = "ID";            
}

private void button2_Click(object sender, EventArgs e)
{            
    CreateNewPerson();            
    LoadUsersToComboBox();
}

private void CreateNewPerson()
{
    if (textBox2.Text != String.Empty)
    {
        Person user = new Person()
        {
            Name = textBox2.Text
        };

        peopleRepo.Add(user);
        peopleRepo.Save();
    }            
}

每次保存后,我希望組合框顯示用戶列表。 因此,有人創建了一個新用戶,它應該在此之后立即顯示在組合框中。 這是行不通的,沒有添加任何新用戶,只有初始的“加載”似乎有效。

Complex DataBinding接受IList或IListSource作為數據源。

private void LoadUsersToComboBox()
{
    // comboBox1.DataSource = null; // No need for this

    comboBox1.DataSource = peopleRepo.FindAllPeople().ToList(); /*Returns IQueryable<People>*/
}

不要在每次刷新時才重新分配DisplayMember和ValueMember,

public Form1()
{
    InitializeComponent();

    comboBox1.DisplayMember = "Name";
    comboBox1.ValueMember = "ID";
    LoadUsersToComboBox()
}

祝好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM