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,ShowExportDialoginShowContextMenuizvedejo isto kot priročni meni in tipke – nad zapisom s fokusom ter z enakimi dogodki in vprašanji (BeforeDeletevpraša pred brisanjem,BeforeCellEditlahko prekliče). - Stanja.
CanAdd,CanDelete,CanEditinCanExportsledijo istim pravilom kot vnosi v meniju; ukaz, katerega stanje je False, sprožiwkeNotAvailable, tako kot Access za svoje ukaze sproži napako 2046. - Obvestilo.
CommandStateChangenastopi, 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.
NewRecordinEditSelectedodpreta urejevalnik celice; uporabnik lahko vanj tipka le, dokler ima mreža fokus, zato prej na kontrolniku pokličiteSetFocus. - Stanje gumba je lahko za trenutek zastarelo.
CommandStateChangenastopi, ko je sprememba dokončana in jo je mreža že prikazala. Klik v vmesnem času naleti nawkeNotAvailable; če je gumb mogoče klikniti zelo hitro po spremembi, to obravnavajte zOn 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
WklGrids podrobnimi pogledi Ctrl++ in Ctrl+- namesto tega odpreta in zapreta podrobne poglede. - Podrobni pogledi.
DetailGridvrne mrežo podrobnega pogleda; njeni ukazi in stanja enako delujejo nad zapisi tega zavihka. Njeni dogodki ne dosežejo modula obrazca.
Sorodne teme
- Referenčni priročnik API (v angleščini): WklGrid (priročni meni in tipke), WklTreeList (
NewRecord,DeleteSelected,EditSelected,CopySelected,ShowExportDialog,ShowContextMenu,CanAdd,CanDelete,CanEdit,CanExport,CommandStateChange)
sl/wiki/msaccess/comctl/how-to/run-grid-commands-from-buttons.txt · Zuletzt geändert: von Wolfgang van der Stille