Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: DerAndre am 18.08.06 - 10:43:36

Titel: Schaltfläche in EmbeddedView verbergen
Beitrag 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é
Titel: Re: Schaltfläche in EmbeddedView verbergen
Beitrag von: Glombi am 18.08.06 - 11:15:55
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
Titel: Re: Schaltfläche in EmbeddedView verbergen
Beitrag von: Axel am 18.08.06 - 11:16:10
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.
Titel: Re: Schaltfläche in EmbeddedView verbergen
Beitrag von: LN4ever am 18.08.06 - 11:36:51
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.
Titel: Re: Schaltfläche in EmbeddedView verbergen
Beitrag von: Axel am 18.08.06 - 11:42:31
... und wie korrespondieren dann die Aktionen mit der Ansicht?


Axel
Titel: Re: Schaltfläche in EmbeddedView verbergen
Beitrag von: Glombi am 18.08.06 - 11:48:17
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
Titel: Re: Schaltfläche in EmbeddedView verbergen
Beitrag von: DerAndre am 18.08.06 - 11:57:02
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é
Titel: Re: Schaltfläche in EmbeddedView verbergen
Beitrag von: DerAndre am 18.08.06 - 11:57:22
Ööööhm, Editieren nicht Zitieren...  ::)

André

Titel: Re: Schaltfläche in EmbeddedView verbergen
Beitrag von: LN4ever am 18.08.06 - 12:00:08
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
Titel: Re: Schaltfläche in EmbeddedView verbergen
Beitrag von: DerAndre am 18.08.06 - 12:08:26
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é
Titel: Re: Schaltfläche in EmbeddedView verbergen
Beitrag von: Axel am 18.08.06 - 12:14:49
[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