2012-07-01 2 views
1

Мои окна Form содержит 1 combobox, привязанный к Категории bindingsource, и 1 datagrid, привязанный к источнику связывания продуктов. Когда я загружаю форму, combobox показывает первое значение в таблице категорий, а не выбранное значение в таблице «Продукты», и когда я меняю позицию в объекте «Связывание продуктов», я могу получить правильный selectedValue в поле со списком (он отображает правильные значения). Итак, моя проблема заключается в первом загрузке элементов combobox.WinForm Combobox - некорректный SelectedValue при загрузке формы

Мои комбинированные свойства:

источник данных = categorybindingsource

дисплей член = CategoryName

Значение Член = CategoryID

Selected Value = productBindingSource - CategoryID

А вот мой код:

NorthwindDataContext dc; 
private void Form1_Load(object sender, EventArgs e) 
{ 
    dc = new NorthwindDataContext(); 
    productBindingSource.DataSource = dc.Products; 

    this.categoryIDComboBox.DataSource = dc.Categories; 
} 

ответ

1

Попробуйте поменять порядок инициализации и выпадающий список DataGrid

NorthwindDataContext dc; 
private void Form1_Load(object sender, EventArgs e) 
{ 
    dc = new NorthwindDataContext(); 
    this.categoryIDComboBox.DataSource = dc.Categories; 
    productBindingSource.DataSource = dc.Products; 
} 
+0

Это верно, инициализация Combo должен быть перед DataGrid, спасибо Стиву. –

Смежные вопросы