Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: thomson666 am 28.04.10 - 09:55:50
-
Hallo!
Gibts eine Möglichkeit beim User die Ansicht zu aktualisieren in der er steht, ohne das er selbst auf F9 drückt?
Hintergrund:
Es gibt User bei uns die bestimmte Ansichte "überwachen" (kling komisch ist aber so). Damit der user nicht alle paar Minuten F9 drücken muss, würde ich gern etwas schreiben das ihm die Ansicht bei sich alle x Minuten aktualisiert.
Geht das?
Wenn ja wie?
Danke schon im voraus
tommy
-
Hi,
Du kannst im initilialize-Event der view einen Timer (NotesTimer class) einbauen, der eine Funktion (LS) aufruft, die die aktuelle view alle x Sekundnen refreshed.
Hab ich auch erfolgreich im EInsatz.
-
Hallo!
also ich bring das einfach nicht hin... vllt. hat jemand einen Tipp...
Hier mein code
Declarations in der View:
Dim elapsedTimer As NotesTimer
Initalize in der View:
Sub Initialize
On Error Goto errproc
Set elapsedTimer = New NotesTimer(120,"Aktualisierung alle 2 Minuten")
Print "initialize von view"
On Event Alarm From elapsedTimer Call elapsedTimerHandler
Exit Sub
errproc:
Print Error$ & " " Erl
Resume Next
End Sub
Sub in der View:
Sub elapsedTimerHandler(Source As NotesTimer)
Dim ws As New NotesUIWorkspace
Dim view As NotesView
Dim uiview As NotesUIView
On Error Goto errproc
Print "TimeHandler nach 120 Sekunden"
Set uiview = ws.CurrentView
Set view = uiview.View
Call view.Refresh
Print "TimeHandler nach Refresh"
Exit Sub
errproc:
Print Error$ & " " Erl
Resume Next
End Sub
Ich versteh auch nicht wie das funktionieren soll, im Backend ein Refresh das sich im UI beim User auswirkt ???
Danke für die Hilfe
tommy
-
also ich bring das einfach nicht hin... vllt. hat jemand einen Tipp...
Auf den ersten Blick kann ich keinen Fehler finden. Wo liegt du denn dein Problem?
Ich versteh auch nicht wie das funktionieren soll, im Backend ein Refresh das sich im UI beim User auswirkt ???
Das hast du schon richtig erkannt. Mit Backend-Funktionen erreichst du hier nichts.
Auszug aus der Designer-Hilfe
This method does not refresh the front-end view that the interactive user sees, nor does it rebuild the front-end view. See ViewRefresh and ViewRebuild in NotesUIWorkspace.
Du musst ViewRefresh aus der Klasse NotesUIWorkspace nehmen.
Axel
-
a ok danke!
Das wirds sein!
Ich probiers aus und schreib dann noch kurz rein obs geklappt hat.
-
Hallo
Wenn die DB auf einem Server liegt, kannst auch folgendes machen:
(1.) in der entsprechenden Ansicht bei Aktualisierung auf "Refresh Display" stellen
(2.) und dann einen periodischen Agenten erstellen, der in der NotesView (Backend) einen Refresh durchführt. Geht halt dann minimum nur alle 5 Minuten.
Viele Grüsse
jablo
-
a vielen dank!
die erste Lösung funktioniert einwandfrei, da die betroffenen die Aktualisierung alle 60 Sekunden haben wollen, fällt die Server Variante flach.