| |
VB.NET - Ein- und UmsteigerDatagridview Key.down Ereignis | | | Autor: Güldner1 | Datum: 17.03.18 14:19 |
| Hallo ich möchte, dass bei einem Key.down Ereignis was passiert. Folgende Szenario. Ich habe ein Datagrid und gebe in eine Zelle der Wert "1" ein. Dabei soll noch nichts passieren. Erst wenn ich die Pfeil nach unten Taste drücke, soll das Ereignis ausgeführt werden. Tut es aber nicht.Dann spring der Cursor eine Zeile tiefer im Datagridview und markiert dann die Zelle. Wenn ich dann die Pfeil nach unten Taste drücke, wird das Ereignis ausgelöst. Ich vermute es hat was mit der markierten Zelle zu tun.
Ausgangssituation: Stehe in Zelle (Reihe 0; Spalte 2)Zelle ist komplett Blau markiert. Gebe dort den Wert "1" ein. Blaue Markierung ist weg. Drücke dann die Pfeil nach unten Taste (Dann soll ja das Ereignis ausgeführt werden, was aber nicht tut). Cursor steht dann in Zelle (Reihe1, Spalte2) und ist wieder blau markiert. Wenn ich dann die Pfeil nach unten Taste, löst das Ereignis aus. Ist aber zu spät. Woran liegt es???
Private Sub datagridview1_down(ByVal sender As Object, ByVal e As _
Windows.Forms.KeyEventArgs) Handles DataGridView1.KeyDown
Dim wert As String = "", x As Integer, y As Integer, Feldname As String _
= "", Feldwert As Integer
x = Me.DataGridView1.CurrentCell.ColumnIndex
y = Me.DataGridView1.CurrentCell.RowIndex
Me.DataGridView1.CurrentCell.Selected = True
If e.KeyCode = Keys.Down Then
Feldwert = Int(Me.DataGridView1("Feldindex", y).Value)
Me.DataGridView1("Feldindex", y).Value = Me.DataGridView1( _
"Feldinex", y).Value + 1
End If
If e.KeyCode = Keys.Delete Then
Me.DataGridView1.CurrentCell.Value = ""
Me.DataGridView1.CurrentCell = Me.DataGridView1.Rows(y + 1).Cells(x)
Me.DataGridView1.CurrentCell = Me.DataGridView1.Rows(y).Cells(x)
End If
Feldname = Me.DataGridView1.Columns.Item(x).HeaderText.ToString
speichern(Feldname)
End Sub | |
Re: Datagridview Key.down Ereignis | | | Autor: Güldner1 | Datum: 17.03.18 17:58 |
| Hallo konnte die Sache lösen in dem ich das Celleventargs verwendet habe.
Private Sub datagridview1_change(sender As Object, e As _
System.Windows.Forms.DataGridViewCellEventArgs) Handles _
DataGridView1.CellValueChanged
Dim wert As String = "", x As Integer, y As Integer, Feldname As String _
= "", LetztesFeld As Integer
x = Me.DataGridView1.CurrentCell.ColumnIndex
y = Me.DataGridView1.CurrentCell.RowIndex
If x <= 0 Then Exit Sub
If Me.DataGridView1.CurrentCell.Value = "" Then
LetztesFeld = x
Else
LetztesFeld = Me.DataGridView1.CurrentCell.ColumnIndex + 1
End If
If LetztesFeld = 0 Then
Else
If LetztesFeld <= Int(Me.DataGridView1("Feldindex", y).Value) Then
Else
Me.DataGridView1("Feldindex", y).Value = Str(LetztesFeld)
End If
End If
Me.DataGridView1("Feldindex", y).Value = Str(LetztesFeld)
End Sub | |
| 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 |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats sevOutBar 4.0
Vertikale Menüleisten á la Outlook
Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Weitere Infos
|
|
|
Copyright ©2000-2024 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
|
|