Hallo zusammen,
ich versuche verzweifelt, eine ToolStripComboBox an eine BindingSource zu binden.
toolStripComboBoxDisplayStyle.ComboBox.FormattingEnabled = true;
toolStripComboBoxDisplayStyle.ComboBox.BindingContext = this.BindingContext;
toolStripComboBoxDisplayStyle.ComboBox.DropDownStyle = ComboBoxStyle.DropDownList;
toolStripComboBoxDisplayStyle.ComboBox.DataSource = adminOrgUserSettingCalendarDisplayStyleTypeDataTableBindingSource;
toolStripComboBoxDisplayStyle.ComboBox.DisplayMember = "DisplayName";
toolStripComboBoxDisplayStyle.ComboBox.ValueMember = "Id";
toolStripComboBoxDisplayStyle.ComboBox.DataBindings.Add("SelectedItem", adminOrgUserSettingBindingSource, "AdminOrgUserSettingCalendarDisplayStyleTypeId", false, DataSourceUpdateMode.OnPropertyChanged);
toolStripComboBoxDisplayStyle.ComboBox.BindingContext = this.BindingContext;
adminOrgUserSettingCalendarDisplayStyleTypeDataTableBindingSource.Sort = "DisplayName ASC";
adminOrgUserSettingCalendarDisplayStyleTypeDataTableBindingSource.DataSource = DataAccess.Instance.CoCGlobalAdminDataSet.AdminOrgUserSettingCalendarDisplayStyleType;
adminOrgUserSettingBindingSource.DataSource = ViewModel.ViewModel.Instance.AdminOrgUserSetting;
Die DataSource wird korrekt übernommen und die Inhalte der Spalte "DisplayName" der Tabelle wie gewünscht in der ComboBox angezeigt,
nur die Datenbindung, die ich versuche mit der folgenden Zeile hinzubekommen
toolStripComboBoxDisplayStyle.ComboBox.DataBindings.Add("SelectedItem", adminOrgUserSettingBindingSource, "AdminOrgUserSettingCalendarDisplayStyleTypeId", false, DataSourceUpdateMode.OnPropertyChanged);
scheint ohne jeden Effekt zu bleiben. Es fliegt keine Exception, weder beim Binden noch später bei der Eingabe an der ComboBox, nichts was auf ein Problem hindeuten würde.
Die adminOrgUserSettingBindingSource bindet an ein POCO mit dem Property
...
public Guid AdminOrgUserSettingCalendarDisplayStyleTypeId
{
get
{
return (_adminOrgUserSettingRow.AdminOrgUserSettingCalendarDisplayStyleTypeId);
}
set
{
if(_adminOrgUserSettingRow.AdminOrgUserSettingCalendarDisplayStyleTypeId != value)
{
_adminOrgUserSettingRow.AdminOrgUserSettingCalendarDisplayStyleTypeId = value;
OnPropertyChanged();
}
}
}
...
Hat jemand eine Idee, was ich da noch tun könnte? Ausnahmsweise wurde ich in Google zwar fündig, es gibt ein paar wenige Posts dazu, habe ich auch alles beherzigt,
konnte mein Problem aber leider nicht lösen.
Viele Grüße und vielen Dank für Eure Hilfe
Christoph
Problem gelöst
Ich habe das falsche Property gebunden
toolStripComboBoxDisplayStyle.ComboBox.DataBindings.Add("SelectedItem", adminOrgUserSettingBindingSource, "AdminOrgUserSettingCalendarDisplayStyleTypeId", false, DataSourceUpdateMode.OnPropertyChanged);
Richtig ist
toolStripComboBoxDisplayStyle.ComboBox.DataBindings.Add("SelectedValue", adminOrgUserSettingBindingSource, "AdminOrgUserSettingCalendarDisplayStyleTypeId", false, DataSourceUpdateMode.OnPropertyChanged);
Wie so oft war der Fehler vor dem Bildschirm.
Viele Grüße
Christoph