Listbox mit DataSource - auslesen der Keys für markierte Zeilen

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Listbox mit DataSource - auslesen der Keys für markierte Zeilen

    Moin!

    ich muss leider noch eine Frage loswerden.

    Es geht jetzt darum, dass ich die markierten (Multi) Einträge aus Keys auslesen möchte.

    Mit

    VB.NET-Quellcode

    1. For Each item In lb_Katalog.SelectedItems
    2. Dim id As Integer = Val(item(key).ToString)
    3. Next


    komme ich nicht weiter.

    ???

    Gruß Jan
    Moin,

    wie sieht die Datenherkunft der lb_Katalog aus?
    Was macht Val?

    Ist das eine List (Of SelbstgebauteKlasse) ?

    VB.NET-Quellcode

    1. Dim id As Integer = Val(item(key).ToString)


    Das geht schonmal nicht, schau dir bitte die Datentypen an. String != Integer

    Ohne die Herkunft der Datenherkunft von lb_Katalog zu kennen ...

    VB.NET-Quellcode

    1. Dim ObjektDings As Object
    2. For Each item In lb_Katalog.SelectedItems.Cast(Of Object)
    3. Dim ID As Integer = item.ID
    4. Next


    Dim ObjektDings As Object = dein Objekt, das Cast(Of Object) mit deinem Objekt ersetzen.
    Moin!

    wofür hast Du

    VB.NET-Quellcode

    1. Dim ObjektDings As Object


    wenn es im Code nicht weiter verwendet wird?


    Die Listboxen werden via

    VB.NET-Quellcode

    1. Public Sub SetControlValues(Control As System.Windows.Forms.ListBox, Data4List As Dictionary(Of String, String))
    2. If Data4List.Count > 0 Then
    3. With Control ' zuweisen der Daten
    4. Dim NewBindingSource As New BindingSource With {.DataSource = Data4List}
    5. .DataSource = NewBindingSource
    6. .DisplayMember = "Value"
    7. .ValueMember = "Key"
    8. .Enabled = True
    9. End With
    10. Else
    11. 'Todo: hier muss eventuell noch etwas ergänzt werden
    12. Control.Enabled = False
    13. End If
    14. End Sub


    betankt!

    Wenn ich das Beispiel von BlueLagoonX verwende kommt es zu einer Fehlermeldung.



    Item hat zwar die richtigen Werte - aber mit ID kommt man an den Key nicht ran.



    Jan

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

    BlueLagoonX schrieb:


    Ohne die Herkunft der Datenherkunft von lb_Katalog zu kennen ...


    Naja... er hat auch ausdrücklich geschrieben, dass er die Datenherkunft nicht kennt.

    VB.NET-Quellcode

    1. For Each item In lb_Katalog.SelectedItems
    2. Dim ID As Integer = Cint(TryCast(item, KeyValuePair(Of String, String)).Key)
    3. Next



    Ein Computer wird das tun, was du programmierst - nicht das, was du willst.

    jan99 schrieb:

    Control As System.Windows.Forms.ListBox



    Warum nimmst du die ListBox in die Parameterliste deiner Methode ein? ListBox ist doch sicher klassenweit deklariert. Somit kann doch auch direkt darauf zugegriffen werden mit z.B.

    VB.NET-Quellcode

    1. Me.ListBoxName


    FreundlicheGrüsse

    exc-jdbi