Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: sral am 09.04.08 - 16:55:40
-
Hallo zusammen,
wie kann ich per Schaltfläche eine Kalenderansicht ansteuern, und bei der Auswahl des Datums, den Wert des gewählten Tages übernehmen? Mit einer Pickliste bin ich schon gescheitert, weil ich nur Dokumente damit auswählen kann. Hat jemand von euch eine Idee?
Lars
-
Wo wählst Du das Datum? Bereits in einer calendar view oder passiert das als erstes und dann soll dieses Datum in einer calendar view das Datum angesprungen werden? Letzteres geht AFAIK nicht.
Bernhard
-
ich will das Datum in einer Kalenderansicht wählen, und dann das Datum in ein anderes Feld schreiben
analog dem RegionDoubleClick in der Mail-Kalenderansicht, nur das dann kein neues Dokument geöffnet werden soll, sondern das Datum des Tages übergeben werden soll
-
Ich verstehe es immer noch nicht: Was hat NotesUIView.RegionDoubleClick mit dem Erstellen eines Dokuments zu tun? Das Datum steht Dir bei RegionDoubleClick zur Verfügung - Du musst es nur übernehmen (wohin auch immer - davon sagst Du ja nichts).
Und welche Rolle soll eine Schaltfläche spielen?
Bernhard
-
über die Schaltfläche "Verfügbarkeit prüfen" komme ich in die Kalenderansicht und will dort z.B. dem 17.04.2008 auswählen, damit das Datum in das Feld "Haupttermin" übertragen wird
-
Im Event steht Dir als Property der NotesUIView die Property CalendarDateTime zur Verfügung. Damit hast Du bereits alles, was Du benötigst.
Bernhard
-
Oder mit
Read-only. The date and time of the current (the selected) region in a calendar view.
Defined in
NotesUIWorkspace
Data type
Variant of type DATE
Syntax
To get: dateV = notesUIWorkspace.CurrentCalendarDateTime
Andreas
-
Naja, da geht Dir dann aber das notwendige Event ab, Andreas. Irgendwas muss Lars ja signalisieren, dass der User jetzt im Kalender geklickert hat.
Bernhard
-
Wenn das in einer Aktion der Ansicht verwendet wird, dann liefert
Dim workspace As New NotesUIWorkspace
Messagebox workspace.CurrentCalendarDateTime,, _
"Date and time for the current region"
das Datum / Datum+Uhrzeit der gewählten Region / des Dokuments zurück.
Warum sollte das nicht gehen?
Andreas
-
Wenn ich den Schirmschuss von Lars richtig deute, dann drückt der User auf eine Schalfläche, dann öffnet sich zur Auswahl eine Kalenderansicht, der User zu in eine Region klicken, und dieser Click soll ausgewertet werden. Die NotesUIWorkspace-Property wird uns da nicht weiterhelfen.
Bernhard
-
funzt !!! :D
-
Und mit welchem Verfahren hast Du es nun gelöst?
Bernhard
-
Lösungsweg...vorausgesetzt, die ECL lässt eine Änderung an der notes.ini zu
1. Im Regiondoubleclick Event der Kalenderansicht, lasse ich den Datumswert in die notes.ini schreiben
Sub Regiondoubleclick(Source As Notesuiview)
Dim s As New NotesSession
Call s.SetEnvironmentVar("SelectedDate", Cstr(Ws.CurrentCalendarDateTime), False)
Call thisUiDoc.Close(True)
End Sub
2. über die bereits genannte Schaltfläche öffne ich eine Dialogbox, in der die Kalenderansicht eingebettet ist, und hole den Wert aus der notes.ini und das Feld "Termin"
Sub Click(Source As Button)
Dim s As New NotesSession
Dim Ws As New NotesUIWorkspace
Dim thisDB As NotesDatabase
Dim SelDoc As NotesDocument
Dim thisDoc As NotesDocument
Dim thisUiDoc As NotesUIDocument
Dim DialogDoc As NotesDocument
Dim SelectDate As String
Set thisDB = s.CurrentDatabase
Set ThisDoc = ws.CurrentDocument.Document
Set DialogDoc = thisdb.CreateDocument
Call s.SetEnvironmentVar("SelectedDate", "", False)
Call ws.DialogBox("(sel_calendar)",True,True,False,False,False,False,"",DialogDoc,True)
SelectDate = s.GetEnvironmentString("SelectedDate")
Call s.SetEnvironmentVar("SelectedDate", "", False)
If Isdate(SelectDate) Then
thisDoc.Termin = SelectDate
End If
End Sub
Lars
-
Tipp: Nimm nicht die NOTES.INI als "Müllabladeplatz", sondern ein persönliches ProfileDocument*). Die Admins werden es Dir danken.
Ansonsten: Gerade mit der Dialogbox eine saubere Lösung.
Bernhard
*) Voraussetzung: Kalenderansicht steckt in der DB, in der auch Dein Button den Code lossemmeln lässt, sonst wird es schwierig, alle möglichen Risiken in RegionDoubleClick abzufangen
-
Die Kalenderansicht ist in einer zweiten Datenbank, wo auch jeder aus der Firma Zugriff hat...und da die ECL bei uns offen ist, habe ich als Admin kein Problem damit O0
Schönes Wochenende...
Lars
-
Dann hat mich mein "Sternchentext" ja gerade noch gerettet ;D
Bernhard