Avatar billede hth Nybegynder
19. marts 2003 - 10:43 Der er 4 kommentarer og
1 løsning

Undgå brug af deleteknap i Datagrid

Hvordan undgår jeg at brugeren kan anvende Delete knappen i et datagrid (Microsoft Datagrid Control 6.0 (SP5)). Jeg har fået låst for alle øvrige taster således :

Private Sub DataGrid_BeforeColEdit(ByVal ColIndex As Integer, ByVal KeyAscii As Integer, Cancel As Integer)
  Cancel = true
End sub

Private Sub DataGrid_BeforeColUpdate(ByVal ColIndex As Integer, OldValue As Variant, Cancel As Integer)
  Cancel = true
End Sub

Problemet er at det ser ud som om at man sletter, når feltet forlades kommer indeholdet tilbage.

Bruger man backspace sker der ingen ting.
Avatar billede medions Nybegynder
19. marts 2003 - 10:59 #1
Lav en onclick/mousedown event, hvor du tjekker om der er klikket på tasten Delete.... Hver tast har sin egen kode... Jeg kan ikke lige huske hvad koden for tasten er men jeg har engang før lavet dette eksempel, dog ikke med et Datagrid...

//>Rune
Avatar billede hth Nybegynder
19. marts 2003 - 11:16 #2
Det jeg har brug for er at annullere at brugeren har tastet Delete.
Avatar billede martin_moth Mester
20. marts 2003 - 16:13 #3
Så bruger du vel bare følgende (eller noget i den stil)

Private Sub MinKontrol_KeyPress(KeyAscii As Integer)
  Select Case KeyAscii
    Case vbDelete        'Eller hvad nu deletetasten hedder
        KeyAscii = 0    'fjerner tegnet
  End Select
End Sub

Idet KeyPress aktiveres før tasten "sendes", har du mulighed for at annulere med at sætte KeyAscii = 0
Avatar billede hth Nybegynder
21. marts 2003 - 09:14 #4
Det virker fint når jeg placerer det i KeyDown men ikke i KeyPress.

Tak for hjælpen.

HTH

Private Sub DataGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyDelete Then
        KeyCode = 0
    End If
End Sub
Avatar billede martin_moth Mester
21. marts 2003 - 10:29 #5
Nå ja - om du i dit tilfælde skal bruge Keypress, Keyup eller keydown skal jeg ikke kunne sige  - det vigtige var KeyCode = 0 :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester