Obrazec postane počasen po obravnavi dogodkov NodeFormat ali CellFormat
Razširjanje, pomikanje, razvrščanje ali filtriranje traja do ene sekunde na korak, odkar je bil vklopljen
FormatEvents, da bi obravnavali NodeFormat ali CellFormat.
Okolje
Vse različice kontrolnikov WklTreeView in WklTreeList, Access za Microsoft 365.
Vzrok
NodeFormat se pojavi za vsako vidno vozlišče, CellFormat pa za vsako vidno celico, in to ob vsakem
ponovnem izrisu. Access vsak klic dogodka ActiveX posreduje obrazcu, vsak klic pa stane nekaj milisekund, tudi
če je procedura prazna; nekaj sto vidnih celic stane ob vsakem izrisu velik del sekunde. DLookup ali
poizvedba znotraj procedure strošek še pomnoži.
Rešitev
- Stalno oblikovanje prenesite v podatke:
ForeColorFieldinBoldField(drevo), pravila oblikovanja (FormatRules, drevesni seznam), ki ne potrebujejo dogodka. - Pustite
FormatEvents = False, razen če obrazec dogodke obravnava. - Če dogodek potrebujete, naj procedura ne vsebuje poizvedb: potrebne vrednosti preberite enkrat (na primer v
DictionaryvForm_Load) in jih iščite tam.
sl/wiki/msaccess/comctl/troubleshooting/slow-formatting-events.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille