vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Controls · sev-Controls   |   VB-Versionen: VB5, VB622.07.04
Navigieren im sevDataGrid bei doppelten Einträgen

Dieser Tipp zeigt, wie man beim Navigieren im sevDataGrid doppelte Einträge einer Spalte überspringen kann.

Autor:   Wolfgang MüllerBewertung:  Views:  9.740 
ohne HomepageSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11kein Beispielprojekt 

Vor kurzem haben wir Ihnen gezeigt, wie man im sevDataGrid-Control doppelte Einträge einer Spalte "ausblenden" kann. Heute zeigen wir, wie man genau diese doppelte Einträge beim Navigieren mit den Cursortasten (Auf/Ab) überspringen kann.

Dazu wird folgender Code im KeyDown-Ereignis benötigt. Das Beispiel überspringt alle doppelten Einträge in Spalte 1, wenn Shift+Down gedrückt wird.

Private Sub Grid1_KeyDown(KeyCode As Integer, Shift As Integer)
  If Shift = 1 Then
    With Grid1
      If KeyCode = 40 And .Row > 0 Then
        KeyCode = 0
        Grid1.FindNext "Gewerk<>" & .Text(.Row, 1)
      End If
    End With
  End If   
End Sub

Leider funktioniert dies nur in Richtung Tabellenende. Für das Überspringen in Richtung Tabellenanfang fehlt eine FindPrevious-Methode, so dass wir uns mit nachfolgendem Code behelfen müssen:

Private Sub Grid1_KeyDown(KeyCode As Integer, Shift As Integer)
  Dim nRow As Long
  Dim sText As String
 
  If Shift = 1 Then
    With Grid1
      If KeyCode = vbkeyDown And .Row > 0 Then
        ' nach unten bewegen
        ' (funktioniert nur im Recordset-Mode)
        KeyCode = 0
        Grid1.FindNext "Gewerk<>" & .Text(.Row, 1)
 
      ElseIf KeyCode = vbKeyUp And .Row > 1 Then
        ' nach oben bewegen
        KeyCode = 0
        nRow = .Row - 1
        sText = .Text(nRow, 1)
        Do Until .Text(nRow, 1) <> sText Or nRow = 0
          nRow = nRow - 1
        Loop
        .Row = nRow + 1
      End If
    End With
  End If   
End Sub



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.