Domino 9 und frühere Versionen > Entwicklung
Cursorpositionen in einer View !
CarlGustav:
Guten Abend Notesgemeinde!
Ist anscheinend doch ein gröberes Problem...
Hoffe auf gute Nachrichten morgen Früh!
Schönen Abend noch,
CG
Performance:
-beim öffnen der view selektierst du dir das sok und setzt den cursor drauf
Call notesUIView.SelectDocument( notesdocument )
cu
CarlGustav:
-beim öffnen der view selektierst du dir das sok und setzt den cursor drauf
Call notesUIView.SelectDocument( notesdocument )
Vielen Dank für den TIp!
Aber....Kannst Du mir noch einen Tip geben wie ich das Dok selektiere. Krieg das nicht richtig hin!
Mach ich das alles im "Query Open" Event?
Dim doc as notesdocument
set doc = ????
LG,
CG
Performance:
also das ist mal wieder ein Beitrag für Tips + Tricks ;D
- die Sache verhält sich im Prinzip genauso wie die Auswahl von doks in einer embedded View
Ich habe es mit strings probiert - ich glaube es ist besser wenn du dein Datum in der ersten Spalte(versteckt ?) als string speicherst und sortierst - das ist die Suchspalte
im Postopen der view rufst du einen Agent auf(wegen dem initialisieren der view)
@Command([ToolsRunMacro]; "(selectdoc)");
""
- der Agent (selectdoc) - selektiere das dok mit der Zahl "3"
Dim ws As New NotesUIWorkspace
Dim s As New NotesSession
Dim v As NotesView
Dim uiv As NotesUIView
Dim entry As NotesViewEntry
Dim doc as NotesDocument
Set uiv = ws.Currentview
Set v = uiv.view
Set entry = v.GetEntryByKey("3", True)
If entry Is Nothing Then Exit Sub
Set doc = entry.Document
Call uiv.SelectDocument(doc)
End Sub
Das Problem bei der uiview und dem selectdocument ist das die Aktion nur vom user getriggert werden kann, d.h. das der code in der view, direkt kein result bringt, dageggen wird beim Agent der Code vom Benutzer angestossen.
cu
CarlGustav:
Ja, Danke vielmals - Das funzt!
Nun bin ich dran eine Lösung zu finden wie man dem Agenten dann sagt, daß wenn kein Doc zu finden ist, welches dem heutigen Datum entspricht, er solange um einen Tag zurück gehen soll, bis er ein gültiges findet.
Zurzeit schaut der Code des Agenten so aus:
Sub Initialize
Dim whenNow As String
whenNow$ = Today()
Dim ws As New NotesUIWorkspace
Dim s As New NotesSession
Dim v As NotesView
Dim uiv As NotesUIView
Dim entry As NotesViewEntry
Dim doc As NotesDocument
Set uiv = ws.Currentview
Set v = uiv.view
Msgbox whennow$
Msgbox Today()-1
Set entry = v.GetEntryByKey(Today(), True)
If entry Is Nothing Then
Set entry = v.GetEntryByKey(Today()-1, True)
End If
Set doc = entry.Document
Call uiv.SelectDocument(doc)
End Sub
Ich hab nichts mit der vorgeschlagenen Selektierung nach der Zahl "3" anzufangen gewußt!
Also hab ich das getentry nach today gemacht - danach suchen wir ja auch!
Ja und nun wenn er kein Doc findet daß dem entspricht, soll er so lange um einen Tag zurückzählen bis er ein richtiges Datum findet.
Derzeit zählt er nur 1 Tag zurück...
Vielleicht hast Du ja auch schneller eine Lösung.
Weiters wäre interessant ob es machbar ist, daß der Cursor dann zum aktuellsten Doc (wenn an einem Tag mehrere Einträge sind, dann geht er zum ersten und nicht zum letzten Eintrag - der letzte Eintrag ist natürlich der aktuellste) geht...
Vielen Dank nochmals und ich freu mich über weitere Hinweise,
Schönes Wochenende,
CG
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln