2013-03-24 31 views
0

我有一個windows窗體應用程序有幾個組合框填充sql數據庫表值。c#編輯時綁定值到組合框

這是一個代碼的一個例子:

public void brandSelectCB(ComboBox cb) 
    { 
     string sSQL = " SELECT" + 
         "  id, name" + 
         " FROM" + 
         "  tbBrand" + 
         " ORDER BY" + 
         "  name"; 

     sqlConnect connect = new sqlConnect(); 
     DataTable dt = new DataTable(); 
     dt = connect.getBD(sSQL); 

     cb.DataSource = dt; 
     cb.DisplayMember = "name"; 
     cb.ValueMember = "id"; 

我的主要形式有幾個記錄,如:型號,品牌,型號,當我想編輯特定的錄音功,我選擇的記錄,單擊編輯按鈕,進入該值到相應的文本框和comboxes,像這樣:

private void btnEdit_Click(object sender, EventArgs e) 
    { 

      this.txtID.Text = lvMain.SelectedItems[0].SubItems[0].Text; 
      this.cbBrand.SelectedText = lvMain.SelectedItems[0].SubItems[1].Text; 
      this.cbModel.SelectedText = lvMain.SelectedItems[0].SubItems[2].Text; 
      this.txtName.Text = lvMain.SelectedItems[0].SubItems[3].Text; 
      this.cbType.SelectedText = lvMain.SelectedItems[0].SubItems[4].Text; 
    } 

正常工作,我得到的文本組合框和texboxes,但組合框的值沒有選擇,只有文本是。如果我選擇SelectedValueSelectedItem,我什麼也沒得到。我從所選擇的項目對應的文字,但我必須從組合框:(一遍值選擇

是我明確的:P

+0

嘗試直接引用該項目,並將所選值設置爲true? – SpykeBytes 2013-03-24 23:17:37

+0

@SpykeBytes示例plz – n3bi0s 2013-03-24 23:19:56

回答

0

我得到它的工作是這樣的:

int xcb; 
xcb = this.cbBrand.FindString(lvMain.SelectedItems[0].SubItems[1].Text); 
this.cbBrand.SelectedIndex = xcb;