2010-07-19 17 views
0

我有填充組合框口是心非在組合框中當我填寫

SQL = "SELECT DISTINCT Name,Num FROM MyTbl order by Name"; 
      adp = new OracleDataAdapter(SQL, Conn); 
      adp.Fill(dsNa, "MyTbl"); 
      adp.Dispose(); 
      comFna.DataSource = dsNa.Tables[0]; 
      comFna.DisplayMember = dsNa.Tables[0].Columns[0].ColumnName; 
      comFna.ValueMember = dsNa.Tables[0].Columns[1].ColumnName; 

這個代碼,但插入新名稱後 - 我沒有看到下襬

後,我再次運行此代碼 - 我看到對方的記錄(只在組合框中)

如何解決這個問題?

感謝的提前

回答

1

當你添加新的名稱數據庫(我在C#的WinForms工作),你有兩個選擇: 1)創建具有給定名稱(和num值的新項目),並將其插入到組合框項目集合。 2)從數據庫(您正在使用)重新加載組合框

唯一的問題是,您需要清除組合框項目或將其數據源設置爲空,然後再重新綁定它。

adp.Dispose(); 
comFna.DataSource = null; //ADD THIS LINE HERE OR comFna.Items.Clear(); 
comFna.DataSource = dsNa.Tables[0]; 
comFna.DisplayMember = dsNa.Tables[0].Columns[0].ColumnName; 
comFna.ValueMember = dsNa.Tables[0].Columns[1].ColumnName; 
0
comFna.Items.Clear(); 

填寫您的組合框之前,使用此代碼移除舊的項目,然後重新填充。