window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-TCJTE9L38H');

Zugriff auf Daten im ListView-Steuerelement

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Genau wie beim Listenfeld oder auch in einem Datenblatt gibt es Möglichkeiten, Einträge anzuklicken, den markierten Eintrag auszuwerten oder auch per Code bestimmte Einträge zu markieren. Wie dies gelingt, zeigt dieser Artikel.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1208_ListView_Zugriff.mdb.

Eigenschaften zur Markierung

Zunächst schauen wir uns die Eigenschaft FullRowSelect an. Mit dieser legen Sie fest, auf welchen Bereich der Benutzer klicken muss, um einen Eintrag zu markieren und wie der markierte Eintrag hervorgehoben wird.

Im Beispiel im Formular frmListViewMarkieren können Sie diese Eigenschaft mit der Umschaltfläche tglKompletteZeile ein- und ausschalten. Das Formular basiert auf dem Formular frmListViewMitDatenAusTabelle, das Listenfeld wird wie im Artikel ListView-Steuerelement mit Daten füllen mit den Daten der Tabelle tblPersonal gefüllt.

über dem List-View-Steuerelement haben wir eine Umschaltfläche platziert, welche die Eigenschaft FullRowSelect des ListView-Steuerelements abwechselnd auf die Werte True und False einstellt.

Damit dies geschieht, legen Sie für die Umschaltfläche mit dem Namen tblKompletteZeile eine Ereignisprozedur an, die durch das Ereignis Nach Aktualisierung ausgelöst wird (Markieren der Eigenschaft, Auswahl von [Ereignisprozedur], Klick auf die Schaltfläche mit den drei Punkten). Diese Prozedur füllen Sie wie folgt:

Private Sub tglKompletteZeile_AfterUpdate()
     Select Case Me!tglKompletteZeile
         Case -1
             objLvwPersonal.FullRowSelect = True
         Case 0
             objLvwPersonal.FullRowSelect = False
     End Select
End Sub

Beim Laden des Formulars wird die Eigenschaft FullRowSelect auf den Wert False eingestellt, was die folgende Zeile in der Prozedur Form_Load bewirkt:

Private Sub Form_Load()
     Set objLvwPersonal = Me!lvwPersonal.Object
     With objLvwPersonal
              ...
         .FullRowSelect = False
         ...
End Sub

Dies sorgt außerdem dafür, dass nur ein Klick auf den Text in der ersten Spalte des ListView-Steuerelements den gewünschten Eintrag markiert – und hier auch nur den Inhalt der ersten Spalte (siehe Bild 1).

Einstellen der Spalten im ListView-Steuerelement

Bild 1: Einstellen der Spalten im ListView-Steuerelement

Die übrigen hier nicht abgebildeten Anweisungen finden Sie im Klassenmodul Form_frmListViewMarkieren der Beispieldatenbank, die Erläuterung dazu im Artikel ListView-Steuerelement mit Daten füllen.

Da die Umschaltfläche beim öffnen des Formulars standardmäßig den Wert Null enthält, ändert ein erster Klick den Wert auf -1, also True. Dies löst die Ereignisprozedur tblKompletteZeile_AfterUpdate aus und stellt die Eigenschaft FullRowSelect ebenfalls auf True ein. Ein weiterer Klick stellt die Eigenschaft wieder auf False ein. Wenn FullRowSelect den Wert True enthält, kann der Benutzer den Eintrag an einer beliebigen Stelle anklicken. Dies markiert dann auch die komplette Zeile (siehe Bild 2).

Markieren der kompletten Zeile im ListView

Bild 2: Markieren der kompletten Zeile im ListView

Den markierten Datensatz ermitteln

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar