Laden...

AddingCombo

Erstellt von ErfinderDesRades vor 14 Jahren Letzter Beitrag vor 14 Jahren 2.435 Views
ErfinderDesRades Themenstarter:in
5.299 Beiträge seit 2008
vor 14 Jahren
AddingCombo

Beschreibung:
Hier hab ich was gefrickelt, dass man mit einer datengebundenen Combo auch Einfügungen vornehmen kann, einfach, indem man in die Textbox einen Eintrag macht, der in der DataSource nicht vorkommt.

Halte ich aber selbst nur für bedingt nützlich, denn der zugefügte Datensatz kann ja nur ein Feld beschrieben haben.
Falls die Tabelle mehrere Spalten hat, gehen diese leer aus.

Wirklich nützlich wäre eine Combo, bei deren DropDown man zusätzliche Buttons anhängen kann, die wie Einträge aussehen ("Keines", "Neu"), die aber ein Klick-Event versenden, mit dem man ggfs. geeignete Zusatz-Dialoge starten kann.

Aber hier erstmal der Snippet:


      void comboBox1_Validating(object sender, System.ComponentModel.CancelEventArgs e) {
         if (comboBox1.SelectedValue == null) {
            var s = comboBox1.Text;
            var rw = (DBSampleDataSet.CategoryRow)(((DataRowView)categoryBindingSource.AddNew()).Row);
            rw.CategoryName = s;
         }
         categoryBindingSource.EndEdit();
         articleBindingSource.EndEdit();
      }

Das wesentliche ist, die Combo erkennt, dass der Text neu ist, daran, dass .SelectedValue null ist, obwohl ein Text gegeben ist.
In dem Fall wird ein neuer Datensatz angelegt, hier über die BindingSource.

Schlagwörter: <Combobox>

Der frühe Apfel fängt den Wurm.