Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Designer am 01.07.05 - 17:04:17
-
Hallo!
hab eine response form mit felder und embedded views...
wenn ich die form öffne muss ich erst einmal F9 drücken um den inhalt der embedded views korrekt anzeigen zu lassen...
kann ich es irgendwie erzwingen das er nach öffnen nochmal die form refresht ohne irgendetwas drücken zu müssen?
vielen dank im voraus
-
Du öffnest frisch ein Dokument, und dann wird der Inhalt der embedded View nicht automatisch korrekt angezeigt?
Was steht denn in den Vieweigenschaften der eingebetten View im Propeller-Tab unter "Refresh" ?
-
die bedingung für die "Show Single Category" bezieht sich auf ein computed field was wohl ebenfalls in der response Form ist, das aber einen wert vom hauptdokument bezieht?
liegts vielleicht daran? muss bis jetzt auf jeden fall einmal F9 drücken,... find ich irgendwie unkomfortabel!
tut mir leid wenn die frage jetzt nen bissle doofi klingt, aber wo ist der propeller- Tab???
hab die englische version! :)
-
Das ist der Propeller-Tab, auch genannt "Karlson auf dem Dach": ;D
(http://www.atnotes.de/attachments/karlson.gif)
Das mit dem computed Feld könnte der Grund sein, aber berichte mal, was beim Propeller steht.
-
wenn ich auf die embedded view einmal klicke und dann unter properties ist kein propellerhaus vorhanden :(
-
Matthias meint die View, nicht deren Einbettung.
Ich bin aber überzeugt, dass die View an sich da keine Schuld trägt, sondern die Berechnungsreihenfolge beim Öffnen des Dokuments.
Gibt mal einem NotesUIWorkspace.ViewRefresh (was sich dann auf die Maske, nicht auf die View bezieht - diese Methode ist etwas missverständlich benannt) im PostOpen-Event der Maske eine Chance.
HTH,
Bernhard
-
hö???
:-:
bin frischling ;D
aber über die reihenfolge der fields kann ich sagen das alle erforderlichen fields vor der embedded view erscheinen
-
1. ich vermute auch, dass es eher an dem berechneten Feld liegt, nachdem Du gar nicht den Propeller-Tab kennst ;-)
2. was steht denn nun beim Propeller?
3. was heißt "hö???", d.h. was ist Dir noch nicht klar?
4. hat NotesUIWorkspace.ViewRefresh was gebracht?
-
Sub Postopen(Source As Notesuidocument)
NotesUIWorkspace.ViewRefresh
End Sub
hab das im postopen- event reingeschrieben aber da zeigt er mir dann einen fehler an:
"Variant does not contain an objekt"???
Propeller: "Auto, after first use"
warum klappt das denn net?
:-\
-
Dazu befragst Du bitte die DesignerHelp, die auch entsprechende Beispiele liefert. Es wäre etwas aufwändig, wenn wir jedes Mal die Angaben der DesignerHelp hier nochmals posten müssten.
Bernhard
-
Jip.
Zum Propeller: "Auto, after first use" ist die Standardeinstellung, die View wird also refreshed beim öffnen des Dokumentes, sprich diese Einstellung ist OK und daran liegt es nicht.
-
Sub Postopen(Source As Notesuidocument)
Dim workspace As New NotesUIWorkspace
Call workspace.ViewRefresh
End Sub
klappt net :-[
???
-
Ich glaube Du musst das NotesUIDocument refreshen.
Kann sein, dass Dir die Reihenfolge der Ausführung einen Streich dabei spielt, dies sollte aber in der Designerhilfe stehen.
Mach mal im Postopen:
Dim uiws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = uiws.CurrentDocument
Call uidoc.Refresh
Problematisch hierbei ist aber (wie beim F9), dass Feldvalidierungen zuschlagen.
-
Matthias, das funktioniert dann aber nur im EditMode ...
Ich habe eben mal die Situation prinzipiell nachgebaut: Kategorisierte Ansicht, Maske mit embedded view. Über der embedded view ein berechnetes Feld. Und beim Öffnen des Dokuments oder Erstellen eines neuen Dokuments bekomme ich die Ansicht mit Werten sofort angezeigt.
Vielleicht könnte Designer seine DB mal hier veröffentlichen, bevor wir weiter im Nebel stochern - dann wird des Pudels Kern bestimmt gleich zu entdecken sein.
Bernhard
-
Du hast komplett Recht, Bernhard.
Hab gerade eine bestehende DB von mir angesehen, da verhält es sich auch exakt so wie von Dir beschrieben.
@Designer: poste am besten mal Deine DB. Oder Du machst schnell eine neue mit 2 Masken, 2 Views und rekonstruierst das ganze, und hängst diese DB dann rein. Eine Lösung finden wir IMHO zu 99,9 %.
-
habe eine nachgebaut und da ist das gleiche Problem...
wie hänge ich denn eine DB hier rein?
-
Menü File / Attach
Ähm, nein ;D
Klicke auf "Erweiterte Optionen" beim Nachricht schreiben, dort gibt es "Datei anhängen".
-
start über About This... - dann den button!
-
OK.
Vermutlich spielt Dir die Form-Eigenschaft "Formulas inherit values from selected document" einen Streich, und dieses Feld ist noch nicht gefüllt beim Berechnen der embedded View.
Zusätzlich handelt es sich um ein neues Dokument.
Mit uidoc.Refresh war ich schon richtig dran.
Unten der Code, mit dem es gehen sollte.
Sub Postopen(Source As Notesuidocument)
On Error Goto ErrorHandler
Dim uiws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = uiws.CurrentDocument
'Wir müssen hier refreshen, ansonsten wird bei einem neu erzeugten Response-Dokument
'der Inhalt der eingebetteten View nicht angezeigt. Liegt wohl an der Ausführungsreihenfolge
'der Codes. Tatsächlich ist wohl die Form-Eigenschaft "Formulas inherit values from selected document"
'mit beteiligt.
If uidoc.IsNewDoc Then
Call uidoc.Refresh
End If
GoOut:
Exit Sub
ErrorHandler:
Msgbox "Fehler #" & Err & " — " & Error$ & " (Zeile: " & Erl & ")", 48, "Laufzeitfehler"
Resume GoOut
End Sub