Domino 9 und frühere Versionen > ND6: Entwicklung

Fehlermeldung öffnen einer View per Script

<< < (2/3) > >>

Driri:
Wenn Du ein Dokument im Fokus hast, kann Dir workspace.CurrentView nichts zurückliefern.

awagner:
gibt es da überhaupt keine möglichkeit?
kann ich den fokus irgendwie auf die view setzen oder sonst irgendwas machen???

Driri:
Hmm, ich glaub, ich hab mich verlesen. Du hast vermutlich ein Frameset und z.B. im linken Frame ist eine Maske mit Hotspots oder so und im rechten Frame wird eine View geöffnet.

Wie genau soll denn der Aufbau sein ? Du hast verschiedene Views, die im rechten Frame geöffnet werden können und dann kann der Benutzer dafür jeweils zu einem Anfangsbuchstaben springen ?

Kannst Du evtl. einen Screenshot anhängen ? Das würde die Sache etwas klarer machen.

awagner:
ja genau so ist es!
hab jetzt mal nen screenshot angehängt!
hoffe das reicht so.

in dem RightFrame werden dann die Views aufgerufen und in der Maske "Picklist" kann der User dann einen Buchstaben auswählen. Dann sollte der aktuelle View nochmal aufgerufen werden (über script oder formel) und eben dann den ausgewählten Buchstaben als Parameter mitgeben

Driri:
Was mir so spontan einfällt :

- Erstell in der Maske ein verstecktes Feld "ViewName"
- Erstell in der Maske ein verstecktes berechnetes Feld "SaveOptions", Wert "0"

- Bau die Gliederung so um, daß dort nicht ein Element direkt verlinkt wird, sondern über eine Formel die View angesteuert wird.

Die Formel müßte in etwa so aussehen :
@SetField("ViewName", "Ansichtenname");
@SetTargetFrame("RightFrame");
@PostedCommand([OpenView]; "Ansichtenname")

- Bau anschließend die Scriptfunktion so um, daß aus dem UIDocument das Feld "ViewName" ausgelesen wird.

Also in etwa so :


--- Code: ---Function pickIt(Buchstabe As String)
Dim session As New notessession
Dim workspace As New NotesUIWorkspace
Dim uidb As NotesUIDatabase
Dim uidoc As NotesUIDocument
Dim Ansicht as String

Set uidb = workspace.CurrentDatabase
Set uidoc = workspace.CurrentDocument
Ansicht = uidoc.FieldGetText("ViewName")

Call workspace.SetTargetFrame("RightFrame")
Call uidb.OpenView(Ansicht, Buchstabe)
End Function

--- Ende Code ---

Der Effekt ist, daß beim Auswählen einer View aus der Gliederung der Ansichtenname in das versteckte Feld geschrieben wird. Diesen liest Du wiederum aus, wenn der Picker aktiviert wird.

Edit : Ist ungetestet, könnte aber funktionieren  ;)

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln