Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: DerAndre am 18.08.06 - 10:43:36
-
Hallo.
Gesucht habe ich, aber nichts gefunden. Was nicht heißt, das es nichts zum Thema gibt. :)
Ich Suche nach einer Möglichkeit Schaltflächen in einer eingebetteten Ansicht in Abhängigkeit vom Status des geöffneten Docs zu Verbergen. Blauäugig wie ich manchmal bin habe ich einfach mal im Hide-When Feld = "Bedingung" eingetragen. Das geht natürlich nicht.
Das hab ich gemacht, weil es ja möglich ist ein Feld aus dem Doc anzugeben, um eine einzelne Kategorie anzuzeigen. Aber scheinbar ist da noch eine Instanz dazwischen die was macht.
Für mich stellt sich jetzt die Frage, geht es oder geht es nicht?
André
-
Vielleicht gehts über die NOTES.INI - mehr fällt mir da nicht ein.
Beim Öffnen des Dokuments (Queryopen) setzt Du in die ini den entsprechenden Wert. Die Aktionen in der eingebetten Ansicht werten dann den ini Eintrag aus.
Bei Änderung des Status muss die eingebettete Ansicht aktualisiert werden - falls das nicht geht, das uidoc schließen und neu öffnen.
Andreas
-
Ich glaube, dass das nicht gehen kann.
Du kannst ein einer eingebetteten Ansicht nicht auf Feldinhalte des Dokumentes zugreifen.
Axel
PS: Der Weg über die INI-Datei könnte funktionieren.
-
Du legst die eingebettete Ansicht in zwei Teilmasken - in einer Teilmaske sind die Schaltflächen angezeigt, in der anderen nicht. Und je nach Status des geöffneten Dokuments ziehst du die eine oder andere Teilmaske als berechnete Teilmaske ein.
Bei einer Statusänderung mußt du ein @Command([ViewSwitchForm];form) laufen lassen. Wenn das Ganze bereits in einem neuen Dokument passieren können soll, muß0t du dann noch ein Feld form als HIDDENFIELD eingeben, denn standardmäßig bekommt ein Notesdokument das Feld FORM erst beim ersten Speichern verpaßt.
-
... und wie korrespondieren dann die Aktionen mit der Ansicht?
Axel
-
Die Lösung von LN4ever geht, wenn entweder alle Aktionen angezeigt oder versteckt sein sollen. Falls das so ist, ist das natürlich die eleganteste Lösung.
Andreas
-
Das ist eigentlich ein guter Lösungsansatz.
Es ist eigentlich kein Problem da eine andere Teilmaske einzubinden.
Wie war das mit Wald und Bäumen... ???
André
-
Ööööhm, Editieren nicht Zitieren... ::)
André
-
Auf Anhieb würde ich sagen, daß die Schaltflächen innerhalb der eingebetteten Ansicht mit den dort angezeigten Objekten eine abgeschlossene Objektklasse bilden, die aufeinander referenzieren kann. Eine Interaktion einer Schaltfläche in der eingebetteten Ansicht mit dem geöffneten Objekt, das sie darstellt kann nur über eine gemeinsam verwendete Script-Library funktionieren.
um zu verhindern, daß das Fenster einer eingebetteten Ansicht angezeigt wird, wenn es nichts anzuzeigen gibt, verwende ich häufiger folgende Methode:
über die eingebettete Ansicht kommt ein Feld d_EMBEDDEDANZEIGEN vom Typ BERECHNET ZUR ANZEIGE mit der Formel d_EMBEDDEDANZEIGEN
Und in der HW-Formel der eingebetteten Ansicht steht dann
d_EMBEDDEDANZEIGEN!="1"
Im Queryopen des Dokuments steht dann etwas wie
Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
If IsNewdoc Then Exit Sub
If source.document.HasItem("$Ref") Then
source.document.d_embeddedAnzeigen="1"
Else
Set xdc=Source.document.Responses
If xdc.count=0 Then
source.document.d_embeddedAnzeigen="0"
Else
source.document.d_embeddedAnzeigen="1"
End If
End If
End Sub
-
Ich sag ja, Wald und Bäume...
Trivialer Weise können wir in der Datenbank angeben welche Teilmasken in welchen Status angezeigt werden sollen :P und das bleibt dann auch so.
Und wieso einfach, wenn es auch komplizert geht.
Ich glaub ich habe diese Woche zu wenig schlaf gehabt...
André
-
[Vor den Kopf hau]
Wenn man richtig liest (und mit Verstand liest), dann sollte man auch wissen wie's gemeint ist.
[/Vor den Kopf hau]
Heute ist irgendwie nicht mein Tag.
@André
Wie war das mit dem zuwenig Schlaf.... ;)
Geht mir anscheinend heute genauso.
Axel