Shranjevanje in obnovitev pogleda
Vsakemu uporabniku med sejami ohranite razširjena vozlišča in izbor ali pa shranite celotno drevo skupaj z vozlišči.
Zahteva WKL Forms Object Library 1.23 ali novejšo različico.
Pregled rešitve
Layout vrne stanje pogleda (razširjena vozlišča, izbor) kot besedilo brez vozlišč; ko mu
dodelite vrednost, se pogled obnovi. SaveToFile, SaveToString, SaveToStream in AsJSON
shranijo vozlišča skupaj z njihovim stanjem (razširjeno, izbrano, potrjeno) kot JSON ali XML;
ustrezni člani LoadFrom… jih naložijo nazaj.
Izvedba
Pogled si za vsakega uporabnika zapomnite v tabeli
tblStanjePogleda (Uporabnik TEXT, Obrazec TEXT, Postavitev MEMO):
Private Sub Form_Close()
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("SELECT * FROM tblStanjePogleda WHERE Uporabnik = '" & Environ$("USERNAME") & "' AND Obrazec = '" & Me.Name & "'")
If rs.EOF Then rs.AddNew Else rs.Edit
rs!Uporabnik = Environ$("USERNAME"): rs!Obrazec = Me.Name
rs!Postavitev = Me!Tree1.Object.Layout
rs.Update
End Sub
Private Sub Form_Load()
Dim saved As Variant
saved = DLookup("Postavitev", "tblStanjePogleda", "Uporabnik = '" & Environ$("USERNAME") & "' AND Obrazec = '" & Me.Name & "'")
If Not IsNull(saved) Then Me!Tree1.Object.Layout = saved
End Sub
Celotno drevo shranite v datoteko in ga naložite v nevezano drevo:
Me!Tree1.Object.SaveToFile CurrentProject.Path & "\regije.json" ' in another form, a WklTreeView without RecordSource: Me!Tree2.Object.LoadFromFile CurrentProject.Path & "\regije.json"
Opombe
LoadFromFilev drevo z nastavljenimRecordSourceuporabi le stanje (razširjeno, izbor, kljukice) za vozlišča vira zapisov; brezRecordSourceiz vozlišč datoteke ustvari nevezano drevo.- Vrednosti ohranijo svoj tip VBA in se zapišejo neodvisno od področnih nastavitev, zato se ključi po nalaganju znova ujemajo s podatkovno zbirko.
wffAutoza datoteko s končnico.xmlzapiše XML, sicer JSON; pri nalaganju prepozna obliko po vsebini.AsJSONvrneJDociz WKL Office JSON, ki mora biti registriran.- Drevo, naloženo iz datoteke, sprememb ne zapisuje nazaj, tudi z
AutoSavene.
Sorodne teme
sl/wiki/msaccess/comctl/how-to/save-and-restore-the-view.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille