bei Selectionchangecomitted auf gebundene Comboboxen muss Wert manuell zugewiesen werden

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Schoofi.

    bei Selectionchangecomitted auf gebundene Comboboxen muss Wert manuell zugewiesen werden

    Seit einiger Zeit fällt mir auf, dass ich bei dem Ereignis SelectionChangeCommited auf gebundene Comboboxen die Werte der Combox per Code eingetragen werden müssen.
    Ich kann mich aber erinnern, dass er die mal automatisch übernommen hatte oder täusche ich mich.
    Kann ich das irgendwie beeinflussen oder muss ich die tatsächlich per Code übernehmen ? Siehe fettmarkierte Zeile.

    VB.NET-Quellcode

    1. Private Sub cboID_Nutzer_SelectionChangeCommitted(sender As Object, e As EventArgs) Handles cboID_Nutzer.SelectionChangeCommitted
    2. Dim dtrowNutzer As dsRechnerliste_be.tbl_NutzerRow = DirectCast(DirectCast(Me.cboID_Nutzer.SelectedItem, DataRowView).Row, dsRechnerliste_be.tbl_NutzerRow)
    3. dtrowRufnr.ID_Kostenstelle = dtrowNutzer.ID_Kostenstelle
    4. dtrowRufnr.ID_Apl = dtrowNutzer.ID_Apl
    5. [b]dtrowRufnr.ID_Nutzer=dtrownutzer.id_Nutzer[/b]
    6. End Sub
    Fettmmarkieren in Code geht nicht.
    Was unterscheidet in relevanter Weise Zeile#3/#4 von #5?
    Warum verwendest Du eigentlich nicht das BindingSource.Current?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Sorry, in der Vorschau klappte das Fettmarkieren noch.
    Zeile 3, 4 und 5 stellen jeweils verschiedene Vorbelegungen in dem Formular ein, die ich dann nachträglich anpassen kann.
    Deswegen kann ich in der Tabelle Rufnummer nicht nur auf die Tabelle Nutzer verweisen, wie es auf den ersten Blick logisch erscheint.
    Das heißt im Regelfall befindet sich die Rufnummer an dem Arbeitsplatz des angegebenen Nutzers (Zeile 4) und hat auch die Kostenstelle des Nutzers (Zeile 3)
    Es gibt aber eben Abweichungen. Also muss ich bei Änderung des zugwiesenen Nutzers die Standardwerte vorbelegen und kann sie hinterher umstellen.

    Wie meinst Du das jetzt mit dem Bindungsource.current ? Meinst Du das beim Nutzer, weil ich das aus dem Selecteditem hole, wäre da Bindingsource.current vorteilhafter ?
    Die dtrowRufnr habe ich beim Datensatzwechsel aus dem Bindingsource.current gecastet.

    VB.NET-Quellcode

    1. Private Sub bsRufnr_CurrentChanged(sender As Object, e As EventArgs) Handles bsRufnr.CurrentChanged
    2. If Me.bsRufnr IsNot Nothing Then
    3. dtrowRufnr = DirectCast(DirectCast(Me.bsRufnr.Current, DataRowView).Row, dsRechnerliste_be.tbl_RufnrRow)
    4. end if
    5. end sub