Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
ToolStripComboBox - Datenbindung
Christoph1968
myCSharp.de - Member



Dabei seit:
Beiträge: 93
Herkunft: Muenchen

Themenstarter:

ToolStripComboBox - Datenbindung

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Christoph1968
myCSharp.de - Member



Dabei seit:
Beiträge: 93
Herkunft: Muenchen

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers