none
VB.NET Datensatz in Listview bzw. Datagridview eindeutig identifizieren RRS feed

  • Frage

  • Hallo,

    ich habe schon länger nach einer Lösung für diese Problem gesucht, bin aber nicht fündig geworden. Ich möchte die Datensätze aus einer Datenbanktabelle in einer Listview bzw. einem Datagridview darstellen und weitere Daten aus der Datenbank anhand des gewählten Eintrags laden. Um dies zu tun, benötige ich den Primary Key des Datensatzes. Kann ich diesen irgendwie beim erstellen der Datenreihe im Control mit angeben, sodass er nicht angezeigt wird, ich ihn aber über den Code wieder aufrufen kann?

    Mit freundlichen Grüßen,

    Bodenseecoder

    Montag, 15. August 2016 13:56

Antworten

  • Hallo,

    um den Primärschlüssel mit zu nehmen, ohne ihn anzuzeigen:

    Beim DataGridView ist das einfachste die Datenbindung zu verwenden. Lies die Daten in eine DataTable und weise sie als DataSource zu. Dann kannst Du immer über die DataRow auf alle eingelesenen Spalten zugreifen, auch wenn sie nicht angezeigt werden. Siehe Gewusst wie: Binden von Daten an das DataGridView-Steuerelement in Windows Forms.

    Beim ListView gibt es leider keine Datenbindung, so dass man dort den Primärschlüssel anderweitig verstecken muss. Jedes ListViewItem hat eine Tag Eigenschaft, in der man beliebige Daten speichern kann. Die kannst Du für den Primärschlüssel verwenden. Alternativ kannst Du eine Ableitung von ListViewItem machen und dort eine zusätzliche Eigenschaft für den Primärschlüssel hinzufügen.

    Gruß Elmar

    • Als Antwort markiert Bodenseecoder Dienstag, 16. August 2016 12:55
    Montag, 15. August 2016 15:23
    Beantworter