2013-03-24 2 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"; 

Моя главная форма имеет несколько записей, как: модели, марки, типа и когда я хочу, чтобы изменить конкретный Recor, я выбираю запись и нажмите кнопка редактирования, который вводит значения в соответствующие текстовые поля и 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, но значения Наример не выбраны, только текст есть. если я выбрал SelectedValue или SelectedItem Я ничего не получаю. У меня есть соответствующий текст из выбранного элемента, но я должен выбрать сначала значение от Наримера :(

был я ясно: P

+0

Попробуйте напрямую обратиться к элементу и установить значение, равное true? – SpykeBytes

+0

@SpykeBytes example plz – n3bi0s

ответ

0

Я получил это работает так:

int xcb; 
xcb = this.cbBrand.FindString(lvMain.SelectedItems[0].SubItems[1].Text); 
this.cbBrand.SelectedIndex = xcb; 
Смежные вопросы