Domino 9 und frühere Versionen > Entwicklung

Cursorpositionen in einer View !

<< < (2/3) > >>

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