Datensatz im ListView



  • hallo zusammen,
    ich bins mal wieder und habe auch schon wieder ein Problem.

    Folgendes:
    Ich habe in einer WindowsForm ein ListView eingebaut in dem Datensätze einer Datenbank ausgegeben werden. Die Datensätze werden per StoredProcedure aus einer SQL 2005 Server Datenbank ausgelesen. Gut, bis hierhin kein Problem und ich denke für die meissten auch weiterhin keines...

    Ich möchte beim ButtonClick einen Datensatz löschen. Dieser Datensatz soll vorher in einem ListView ausgewählt werden, wobei ich MultiSelect deaktiviert habe. Der Button soll auch dann erst aktiv werden wenn wirklich ein Datensatz ausgewählt wurde.

    So nun mein Problem, wie bekomme ich den aktuell ausgewählten Datensatz, bzw. die erste Spalte(Primärschlüssel) des Datensatzes heraus? ich muss den Schlüssen ja anschließend wieder an eine StoredProcedure übergeben um damit den Datensatz löschen zu können.

    Kann mir da wohl jmd helfen?? 😕



  • Probier es mit SelectedItems[0].SubItems[0]



  • Ich habe nun Folgende Zeile aus deiner Antwort gebastelt:

    int Schluessel = Convert.ToInt32(listView1.SelectedItems[0].SubItems[0].ToString());
    

    Den Umweg .ToString() gehe ich da eine direkte umwandlung laut Exception nicht möglich ist. So allerdings auch nicht, da SelectedItems[0].SubItems[0].ToString() nicht einfach 14 zurückliefert, sondern {14}. Is es sinnvoll die Klammern zuerst mit einem RegEx oder ähnichem zu eliminieren?? habe es versucht, aber ich bekomme eine Fehlermeldung:

    Input string was not in the correct format



  • DAnke an alle die sich gedanken g emacht haben aber habe mein Problem grade selber gelöst. Hatte wohl überlesen das in dem string auch noch ListViewSubItem: stand. Habe das auch noch entfernt, nun funzt es!!



  • Du brauchst doch einfach nur
    SelectedItems[0].SubItems[0].Text
    bzw.
    SelectedItems[0].Text
    verwenden...


Anmelden zum Antworten