Как привязать к ComboBox в Windows Forms

Мне нужно сделать привязку Combobox для автоматического сохранения данных в базе данных.

* Я заполняю Combobox в начале Form:

lPropositosInmueble = BOPropositoInmueble.PropositoInmuebleCollection
    With Me.cboProposito
        .DisplayMember = "Nombre"
        .ValueMember = "PropositoID"
        .DataSource = lPropositosInmueble
        .SelectedIndex = -1
    End With

При поиске данных в таблице сопоставляю их с Combobox и применяю привязку:

bindingPropositoiImueble = New Binding("SelectedValue", lPropositosInmueble, "Nombre", True, DataSourceUpdateMode.OnPropertyChanged, Nothing)
    Me.cboProposito.DataBindings.Add(bindingPropositoiImueble)
    Me.cboProposito.SelectedValue = captacion.PropositoInmuebleID

Сохранить:

If captacion.IsDirty = False Then
   captacion.Update()
End If

captacion - это объект (таблица), который уже создан, и который сохраняет другие данные из Textbox следующим образом:

Me.txtPrecioCLP.DataBindings.Add(New Binding("Text", captacion, "Precio", True, DataSourceUpdateMode.OnValidation, Nothing, "C0"))

Проблема в том, что я не сохраняю то, что выбрано в Combobox, когда хочу внести изменения, потому что Textbox я делаю то же самое, и это прекрасно работает для меня.

0
задан 14.04.2016, 21:01
1 ответ

То, что общеизвестный состоит в том, что, хотя ты определяешь Binding ты также распределяешь SelectedValue с кода.

ты Был бы должен снимать эту линию

 Me.cboProposito.SelectedValue = captacion.PropositoInmuebleID

И в binding определять свойство

bindingPropositoiImueble = New Binding("SelectedValue", captacion, "PropositoInmuebleID", True, DataSourceUpdateMode.OnPropertyChanged, Nothing)

не, потому что ты поместил "Имя", если там он идет в свойство, что bindea в SelectedValue. Было бы нужно присоединять поле, которое представляет ValueMember.

Также анализирует, как в binding ты должен распределять объект captacion, которые ты использовал с TextBox.

Вкратце в объекте lPropositosInmueble правилен использовать это, чтобы загружать статьи изогнутого, но чтобы определять binding, который определяет выбор, ты должен использовать captacion.

0
ответ дан 24.11.2019, 14:35
  • 1
    Оно я функционировало совершенно! Спасибо однажды м и # 225; s Леандро. – sergiokml 14.04.2016, 20:17