Laden...

ToolStripComboBox - Datenbindung

Erstellt von Christoph1968 vor 2 Jahren Letzter Beitrag vor 2 Jahren 307 Views
C
Christoph1968 Themenstarter:in
93 Beiträge seit 2007
vor 2 Jahren
ToolStripComboBox - Datenbindung

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

C
Christoph1968 Themenstarter:in
93 Beiträge seit 2007
vor 2 Jahren

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