Tools & Components Tools & Components
    Professionelle Entwicklerkomponenten für Visual Basic, .NET und MS-Access
www.tools4vb.com   
 
 
  HOME
  Willkommen
  News
  Impressum
  Datenschutz
  Referenzen
  Kundenmeinungen
  TOP-Angebot
  Online-Shop
 
  ENTWICKLERTOOLS
  Oberfläche & Design
  DataGrid & Listen
  Statistik
  Internet / ISDN
  Zip & Verschlüsselung
  DTA / Kontonummern
 
  DOWNLOAD
  Komplettinstallation
  Bugfixes und Patches
  Online-Hilfe
  Sonstige Downloads
 
  SUPPORT
  Diskussionsforum
  Tipps & Tricks
  FAQ
 
  FUNKTIONEN
  als Startseite
  zu den Favoriten
 
  PARTNERSEITEN
vb@rchiv - Alles für VB-Entwickler roSoft - mehr als 15 Jahre Profi-Software!
 
 
 

HOME > TIPPS & TRICKS > sevDataGrid 1.0/2.0

 

Tipps & Tricks: sevDataGrid 1.0/2.0

 
 

Navigieren im sevDataGrid bei doppelten Einträgen
Dieser Tipp zeigt, wie man beim Navigieren im sevDataGrid doppelte Einträge einer Spalte überspringen kann.
Produktversionen:sevDataGrid 1.0/2.0
VB-Versionen:VB5/6, MS-Access
Autor:Wolfgang Müller
Datum:22.07.04
Views:4838

 
 

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

zurück Zurück zur Übersichtsseite

   

 

nach oben

Optimiert für den Internet Explorer bei 1024x768 Pixel
Copyright ©1997-2019 Tools & Components, Dieter Otter
Alle 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.