Barvna shema: Riviera
Trenutno dejavna stran: start » sl » Dokumentacija » Orodja za Microsoft Access » WKL Forms Object Library » how-to » Izvajanje ukazov mreže z lastnimi gumbi

Izvajanje ukazov mreže z lastnimi gumbi

Ukaze Nov, Izbriši, Uredi in Izvozi ponudite kot ukazne gumbe obrazca (ali kot vnose na traku) ob WklGrid ali WklTreeList, omogočene natanko takrat, ko bi jih ponudil lastni priročni meni mreže.

Zahteva WKL Forms Object Library 1.28 ali novejšo različico.

Pregled rešitve

  • Ukazi. NewRecord, DeleteSelected, EditSelected, CopySelected, ShowExportDialog in ShowContextMenu izvedejo isto kot priročni meni in tipke – nad zapisom s fokusom ter z enakimi dogodki in vprašanji (BeforeDelete vpraša pred brisanjem, BeforeCellEdit lahko prekliče).
  • Stanja. CanAdd, CanDelete, CanEdit in CanExport sledijo istim pravilom kot vnosi v meniju; ukaz, katerega stanje je False, sproži wkeNotAvailable, tako kot Access za svoje ukaze sproži napako 2046.
  • Obvestilo. CommandStateChange nastopi, ko se spremeni eno od štirih stanj – potem ko uporabnik izbere drug zapis, pa tudi potem ko koda spremeni nastavitev ali znova prebere zapise.

Izvedba

Obrazec z mrežo Grid1 in gumbi cmdNew, cmdDelete, cmdEdit in cmdExport:

Private Sub Form_Load()
    ShowCommandStates
End Sub
 
Private Sub Grid1_CommandStateChange()
    ShowCommandStates
End Sub
 
Private Sub ShowCommandStates()
    With Me!Grid1.Object
        Me!cmdNew.Enabled = .CanAdd
        Me!cmdDelete.Enabled = .CanDelete
        Me!cmdEdit.Enabled = .CanEdit
        Me!cmdExport.Enabled = .CanExport
    End With
End Sub
 
Private Sub cmdNew_Click()
    Me!Grid1.SetFocus
    Me!Grid1.Object.NewRecord
End Sub
 
Private Sub cmdDelete_Click()
    Me!Grid1.Object.DeleteSelected
End Sub
 
Private Sub cmdEdit_Click()
    Me!Grid1.SetFocus
    Me!Grid1.Object.EditSelected
End Sub
 
Private Sub cmdExport_Click()
    Me!Grid1.Object.ShowExportDialog
End Sub

Opombe

  • Za urejanje najprej nastavite fokus. NewRecord in EditSelected odpreta urejevalnik celice; uporabnik lahko vanj tipka le, dokler ima mreža fokus, zato prej na kontrolniku pokličite SetFocus.
  • Stanje gumba je lahko za trenutek zastarelo. CommandStateChange nastopi, ko je sprememba dokončana in jo je mreža že prikazala. Klik v vmesnem času naleti na wkeNotAvailable; če je gumb mogoče klikniti zelo hitro po spremembi, to obravnavajte z On Error.
  • Ne ob odpiranju obrazca. Dogodek sporoča spremembe, ne začetnega stanja; stanja preberite v Form_Load, kot je prikazano zgoraj.
  • Samo v pogledu obrazca. V pogledu načrta ukazi sprožijo wkeNotAvailable, stanja pa so False.
  • Tipke. Enaki ukazi so na tipkah podatkovnega lista Access: Ctrl++ nov zapis, Ctrl+- brisanje, Shift+F9 ponovno branje (tudi F5), Ctrl+C kopiranje, tipka menija ali Shift+F10 priročni meni. Na zapisu WklGrid s podrobnimi pogledi Ctrl++ in Ctrl+- namesto tega odpreta in zapreta podrobne poglede.
  • Podrobni pogledi. DetailGrid vrne mrežo podrobnega pogleda; njeni ukazi in stanja enako delujejo nad zapisi tega zavihka. Njeni dogodki ne dosežejo modula obrazca.

Sorodne teme

sl/wiki/msaccess/comctl/how-to/run-grid-commands-from-buttons.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille