Combobox aktualiesiert Items.Contains findet neuen Wert nicht

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    Combobox aktualiesiert Items.Contains findet neuen Wert nicht

    Hallo in die Runde,

    ich möchte gerne eine Combobox bei fehlenden Einträgen mit dem neuen Wert ergänzen. Die Combobox bezieht Ihre Daten aus einer BindingSource die wiederum aus ein DataSet Ihre Daten bezieht. Die Prüfung ob der Wert schon vorhaden ist mache ich mit

    VB.NET-Quellcode

    1. If cbo_Händler.Items.Contains(neuerName) Then


    Ist der eingegebene Wert nicht in der Liste der Combobox dann wird eine andere Form aufgerufen wo der Datensatz neu eingegeben werden kann. Jetzt habe ich allerdings zwei Probleme:
    • Da ich das DataSet neu einlese springt mir das Formular immer zum 1. Datensatz zurück und nicht zum aktuellen angefangenen Datensatz zurück
    • VB.NET-Quellcode

      1. If cbo_Händler.Items.Contains(neuerName) Then
      scheint wohl von dem neuen Datenssatz nichts mitzubekommen da er mir immer anzeigt das der Inhalt in der Liste nicht vorhanden ist
    Hier mal mein Kompletter Code

    VB.NET-Quellcode

    1. Private Sub cbo_Händler_Leave(sender As Object, e As EventArgs) Handles cbo_Händler.Leave
    2. Dim neuerName As String
    3. neuerName = cbo_Händler.Text
    4. If cbo_Händler.Items.Contains(neuerName) Then
    5. Dim a As Integer = a + 1
    6. Else
    7. MessageBox.Show("Der Eintrag ist nicht vorhanden bitte neu anlegen", "Mitteilung")
    8. Using newform As New frm_Haendler
    9. newform.StartPosition = FormStartPosition.CenterParent
    10. newform.ShowDialog(Me)
    11. End Using
    12. If My.Computer.FileSystem.FileExists(xmlData) = True Then
    13. DataSet_Akten.Clear()
    14. DataSet_Akten.ReadXml(xmlData)
    15. End If
    16. bs_Händler.DataSource = DataSet_Akten.Tables("Haendler")
    17. bs_Händler.ResetBindings(False)
    18. cbo_Händler.Refresh()
    19. End If
    20. End Sub
    21. End Class


    Da ich noch Anfänger bin, bin ich für jeden Tipp echt dankbar.

    Viele Grüße
    Torsten
    Willkommen im Forum.
    Zeile#5 ist inhaltlich fragwürdig. Es kompiliert, aber sinnhaft ist der Code an der Stelle nicht.
    Wie übergibst Du die aktuellen tDS-Daten an das andere Formular? Das andere hat ja wahrscheinlich eine eigene tDS-Instanz. Wie kommt das zu seinen Daten? XML-Daten laden und später speichern?
    Ah, da steht's ja: Du liest es neu ein. Suboptimal. Kommt drauf an, was Du im anderen Formular alles mit dem tDS bzw dem neuen Datensatz machst. Wenn es in dem anderen Formular nur um den neuen Datensatz geht, dann übergib diesen dem neuen Formular als Parameter, dann kannst Du die Daten im anderen Formular nach Lust und Laune bearbeiten und fertig. Dann musst Du auch nix neu einlesen oder laden.
    Zeile#17: Warum nicht typisiert arbeiten? = DataSet_Akten.Haendler. Allerdings: Die BindingSource ist doch bestimmt schon von Haus aus auf die korrekte Datenquelle eingestellt. Warum neu vergeben?
    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.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()