Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: thomson666 am 28.04.10 - 09:55:50

Titel: Ansicht beim user automatisch aktualisieren ohne das er F9 drückt
Beitrag 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
Titel: Re: Ansicht beim user automatisch aktualisieren ohne das er F9 drückt
Beitrag von: dirk_2909 am 28.04.10 - 10:12:15
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.
Titel: Re: Ansicht beim user automatisch aktualisieren ohne das er F9 drückt
Beitrag von: thomson666 am 05.05.10 - 09:17:10
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
Titel: Re: Ansicht beim user automatisch aktualisieren ohne das er F9 drückt
Beitrag von: Axel am 05.05.10 - 09:44:13
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
Zitat
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
 
Titel: Re: Ansicht beim user automatisch aktualisieren ohne das er F9 drückt
Beitrag von: thomson666 am 06.05.10 - 12:12:40
a ok danke!

Das wirds sein!
Ich probiers aus und schreib dann noch kurz rein obs geklappt hat.
Titel: Re: Ansicht beim user automatisch aktualisieren ohne das er F9 drückt
Beitrag von: jablo am 06.05.10 - 12:45:19
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
Titel: Re: Ansicht beim user automatisch aktualisieren ohne das er F9 drückt
Beitrag von: thomson666 am 06.05.10 - 14:44:25
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.