下拉框的兩級聯動是我們開發中經常遇到一種情況。比如一個學生管理系統中,根據年級、科目及姓名查詢學生考試成績,年級和科目都是硬盤中的有限數據(數據庫)而學生則可以有用戶手動指定,這時在數據庫中有年級和科目兩張表,每門科目都對應一個年級,所以我們可以用兩個下拉框(Combobox)來存儲年級和科目信息來供用戶選擇。界面如下:
model展開1 int gradeid = Convert.ToInt32(cboGrade.SelectedValue);//獲取選定的年級編號 2 3 List list= subjectBll.GetAllSubject(gradeid);//查詢指定年繼編號下對應的科目信息 4 //綁定科目下拉框 5 cboSubject.ValueMember = "subjectid"; 6 cboSubject.DisplayMember = "subjectname"; 7 cboSubject.DataSource = list; 返回頂部收縮 1 int gradeid = Convert.ToInt32(cboGrade.SelectedValue);//獲取選定的年級編號 2 3 List <Subject> list= subjectBll.GetAllSubject(gradeid);//查詢指定年繼編號下對應的科目信息 4 //綁定科目下拉框 5 cboSubject.ValueMember = "subjectid"; 6 cboSubject.DisplayMember = "subjectname"; 7 cboSubject.DataSource = list;
下拉框的SelectedValue屬性
屬性原型:
常見錯誤:
錯誤分析:經過實驗可以確認將綁定數據源的代碼放在屬性設置的後邊是可以解決這個錯誤的,個人覺得是如果先綁定數據源的話系統會自動將valuemember的屬性值設置為綁定的集合的類型之後再設置Valuemember時系統不會再對其進行更改!