Выбор элемента в комбинированном списке данных - PullRequest
0 голосов
/ 07 сентября 2011

Я считаю, что этот вопрос является своего рода новичком, но я не могу решить его правильно.

Краткое описание:

  1. Я унаследован от класса ComboBox, которыйделает некоторые привязки данных в конструкторе:
    var mdl = new Model();

    ValueMember = "id";
    DisplayMember = "unit";
    DataSource = mdl.getUnits();

Все хорошо здесь.Поле со списком заполняется необходимыми данными.

  1. Тогда у меня есть другая форма с функцией editIngridient.Функция выглядит следующим образом:
    public bool editIngridient(int id)
    {
    currentId = id;

    var row = mdl.getIngridient(id);

    txtIngridient.Text = (string)row["ingridient"];
    cmbUnit.ID = (int)row["unitId"];
    numNotifyQty.Value = (int) row["notifyQty"];

    ShowDialog();

    return true;
    }
  1. Теперь, когда всплывающие окна формы, текстовое поле и поле ввода заполнены необходимыми значениями, а выпадающий список заполняется первым значением.

  2. Если я буду запускать функцию привязки комбинированного списка данных в качестве первой строки внутри функции editIngridient - все работает хорошо.

Пожалуйста, укажите мне на мою глупость.

Спасибо большое!

1 Ответ

0 голосов
/ 07 сентября 2011

Вы не сказали, какой у вас источник данных, но я предполагаю, что это DataTable, так что вы можете сделать это:

DataRowView rowData = comboBox1.SelectedItem as DataRowView;
int id = Convert.ToInt32(rowData["id"]);
string name = rowData["unit"].ToString();
...