2011-11-12 28 views
0

我試圖填充COMBOX這樣的:人口的組合框DisplayMember和ValueMember

 DataSet ds = new DataSet(); 
     SqlDataAdapter da = new SqlDataAdapter("SELECT id,name FROM table1", con); 
     da.Fill(ds, "FillDropDown"); 

     comboProject.DisplayMember = "FillDropDown.name"; 
     comboProject.ValueMember = "FillDropDown.id"; 
     comboProject.DataSource = ds.Tables["FillDropDown"]; 

但所有項目都出現在組合框「System.Data.DataRowView」。爲什麼它是這樣的? 在此先感謝。

+0

警告。使用DisplayMember =「名稱」,可能在模糊處理時發生故障。因爲它不再被稱爲「名稱」。 –

回答

1
try comboProject.DataSource = ds.Tables["FillDropDown"].DefaultView; 
+0

沒有..問題仍然存在.. – Pranav

+0

@Pranav試試這個comboProject.DataSource = ds.Tables [「FillDropDown」]。DefaultView; comboProject.DisplayMember =「name」; comboProject.ValueMember =「id」; – Karthik

+0

其實我試過..on只是從顯示和價值成員刪除表名,它工作正常..但爲什麼它是這樣的..反正謝謝 – Pranav

2

試試這個:

DataSet ds = new DataSet(); 
SqlDataAdapter da = new SqlDataAdapter("SELECT id,name FROM table1", con); 
da.Fill(ds, "FillDropDown"); 

comboProject.DisplayMember = "name"; 
comboProject.ValueMember = "id"; 
comboProject.DataSource = ds.Tables["FillDropDown"]; 
comboProject.DataBind(); 
相關問題