vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
DataGrid und letzte Zeile ? 
Autor: rub_
Datum: 16.03.05 14:31

Hallo,

Ich habe im Key_Down meines Datagrids dass hier hinterlegt.
        If e.KeyCode = Keys.KeyCode.S Then
            Try
                Dim i As Integer
                'Fokus auf dataGrid setzen.
                Me.DGAnzeige.Focus()
 
                'Vorherige Selectierung aufheben
                Try
                    Me.DGAnzeige.UnSelect(Me.DGAnzeige.CurrentRowIndex)
                Catch
                End Try
 
                'Nächste Spalte einstellen.
                Me.DGAnzeige.CurrentRowIndex = (Me.DGAnzeige.CurrentRowIndex + _
                  1)
                'Diese Zeile als Wert, zur Überprüfung festhalten.
                i = Me.DGAnzeige.CurrentRowIndex
                'Nächste Zeile Anwählen wenn möglich.
                Me.DGAnzeige.CurrentRowIndex = (Me.DGAnzeige.CurrentRowIndex + _
                  1)
 
                'Wenn die Vorherige Zeile des SourceCodes den Selben Wert 
                ' zurückgibt wie I ist, dann
                If i = Me.DGAnzeige.CurrentRowIndex Then
                    Me.DGAnzeige.Select(Me.DGAnzeige.CurrentRowIndex)
                Else
                    'Sonst ist das Ende des DataGrids erreicht.
                    Me.DGAnzeige.CurrentRowIndex = ( _
                      Me.DGAnzeige.CurrentRowIndex - 1)
                    Me.DGAnzeige.Select(Me.DGAnzeige.CurrentRowIndex)
                End If
            Catch
            End Try
        End If
 
        If e.KeyCode = Keys.KeyCode.Y Then
            Try
                If Me.DGAnzeige.CurrentRowIndex > 0 Then
                    Me.DGAnzeige.Focus()
                    Try
                        Me.DGAnzeige.UnSelect(Me.DGAnzeige.CurrentRowIndex)
                    Catch
                    End Try
                    Me.DGAnzeige.CurrentRowIndex = ( _
                      Me.DGAnzeige.CurrentRowIndex - 1)
                    Me.DGAnzeige.Select(Me.DGAnzeige.CurrentRowIndex)
                    '  Me.DGAnzeige.Item(Me.DGAnzeige.CurrentRowIndex, 2).Focus( 
                    ' )
                End If
            Catch
            End Try
        End If
Komischerweise bekomme ich eine Fehlermeldung wenn ich im letzten Datensatz stehe und die S-Taste drücke (in allen anderen Rows funktioniert es). Der Fehler tritt jedoch auf, bevor die Anwendung in den Key-Down-Code springt. Wahrscheinlich brauche ich auch hier eine eigene DG-Klasse ?
Seltsamerweise passier das auch, wenn ich anstatt s eine andere Taste, im Key-Down, benutze(Bei Tasten die nicht im Key-Down hinterlegt sind, passiert natürlich auch garnichts) . Es Kommt mir so vor, als ob das Datagrid den Code vom Keydown irgendwie kopiert und in das Steuerelement integriert, oder dass es sich selbst überschreibt, oder so. Was geht da vor ?

PS : Das DataGrid sitzt in einer Usercontrol.

Gru? Rub

(PS: Besuch doch mal meine Seiten http://e-liquids.de und http://jjpassion.de)

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
DataGrid und letzte Zeile ?1.058rub_16.03.05 14:31
Re: DataGrid und letzte Zeile ?574rub_16.03.05 14:33

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv 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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel