2013-05-11 213 views
0

我有一個列表Person對象(從數據庫加載),我把它稱爲PersonListPerson類有四個屬性Person_Id(PK),Name,FamilyAddress將列表綁定到組合框

我想將此列表的上下文綁定到ComboBox。我還想在組合框中顯示每個人的NameFamily(不是Person_IdAddress)。另一方面,如果最終用戶選擇任何人,我想獲得ComboBox的選定值的Person_Id(PK)。

我該如何設法做到這一點?此外,我想知道如果我刪除任何項目的PersonList組合框自動更新或我應該自己手動更新?

回答

0

添加到您的Person類返回預期

class Person 
{ 
    public int Person_ID {get;set;} 
    public string name {get;set;} 
    public string family {get;set;} 
    public int address {get;set;} 
    public string name_family { get {return this.ToString();}} 

    public override string ToString() 
    { 
     return string.Format("{0} {1}", this.name, this.family); 
    } 
} 

現在分配組合框的只讀屬性和ValueMember屬性類Person的PERSON_ID的財產DisplayMember字符串只讀屬性。

comboBox1.DataSource = PersonList; 
comboBox1.DisplayMember = "name_family"; 
comboBox1.ValueMember = "id"; 

現在在ComboBox SelectedIndexChange事件中,你可以檢索從SelectedItemValue

private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e) 
{ 
    if(comboBox1.SelectedValue != null) 
    { 
     int personID = Convert.ToInt32(comboBox1.SelectedValue); 
     ....... 
    } 
} 
+0

謝謝你的答案ID,但仍然沒有解決一個問題?如果我通過單擊這個工作來放置一個按鈕:PersonList.RemoveAt(0);如果沒有進一步的編程,我不想看到comboBox的第一項。可能嗎? – user2373198 2013-05-11 19:50:16