Autor Thema: Felder verbergen - hide  (Gelesen 7887 mal)

Offline wuwu

  • Senior Mitglied
  • ****
  • Beiträge: 357
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Felder verbergen - hide
« am: 08.09.04 - 16:24:41 »
hallo,

würde gerne per Script (button) ein Feld verbergen:

Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim view As NotesForm
   Dim vc As NotesItem
   Set db = session.CurrentDatabase
   Set view = db.GetForm("Vorschlag")
   Set vc = Zeitfenster

mehr habe ich nicht und komm auch nicht weiter mit .ishidden usw.

danke für eure hilfe!

mfg
Domino 7.01 - AS 400, Domino 7.01 - Win2003, Lotus Notes 8.01 Basic->PCs, NB, Terminal Server Farm.

Driri

  • Gast
Re:Felder verbergen - hide
« Antwort #1 am: 08.09.04 - 16:40:00 »
Das geht IMO nicht per Script. Du mußt eine Hide-When-Formel auf das Feld setzen und kannst dann höchstens über ein Flagfeld die Hide-When-Formel bedienen.


Also z.B. Hide-When setzen für Flagfeld=1 und dann im Script das Flagfeld entsprechend schießen. Das erfordert dann allerdings im UIDocument ein RefreshHideFormulas.

Offline wuwu

  • Senior Mitglied
  • ****
  • Beiträge: 357
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Felder verbergen - hide
« Antwort #2 am: 08.09.04 - 17:00:03 »
merci für die schnelle antwort, ich versteh aber leider nur bahnhof!

ich bin leider noch ein neuling im scriptn von notes dbs!

ich hoffe du kannst mir trotzdem weiter helfen!

mfg
Domino 7.01 - AS 400, Domino 7.01 - Win2003, Lotus Notes 8.01 Basic->PCs, NB, Terminal Server Farm.

Driri

  • Gast
Re:Felder verbergen - hide
« Antwort #3 am: 08.09.04 - 17:09:32 »
Das sollte wohl machbar sein  ;)

Du kannst auf das Feld eine Hide-When-Formel setzen (vorletzter Tab in den Feldeigenschaften, "Absatz verbergen, wenn..."). Also z.B. Flag="1".

Dann baust Du ein verstecktes Feld mit Namen "Flag" ein. Wenn das Feld den Wert "1" hat, wird das obige Feld verborgen.

Für das Verbergen per Button reicht dann eigentlich auch Formelsprache aus, z.B. so :

@SetField("Flag";"1");
@Command([RefreshHideFormulas])

Offline wuwu

  • Senior Mitglied
  • ****
  • Beiträge: 357
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Felder verbergen - hide
« Antwort #4 am: 08.09.04 - 17:12:19 »
spitzenklasse!

wie sieht die ganze geschichte dann aus im lotus script?
ich möchte gerne die geschichte vom anfang an im lotus script machen!

merci einstweilen!

mfg horst
Domino 7.01 - AS 400, Domino 7.01 - Win2003, Lotus Notes 8.01 Basic->PCs, NB, Terminal Server Farm.

Driri

  • Gast
Re:Felder verbergen - hide
« Antwort #5 am: 08.09.04 - 17:23:25 »
Dann müßtest Du per Script das Feld "Flag" auf "1" schießen und für das NotesUIDocument ein RefreshHideFormulas absetzen.

Also in Kurzform

Call uidoc.FieldSetText("Flag", "1")
Call uidoc.RefreshHideFormulas

Offline wuwu

  • Senior Mitglied
  • ****
  • Beiträge: 357
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Felder verbergen - hide
« Antwort #6 am: 08.09.04 - 17:37:30 »
Hallo,

habe jetzt folgendes script gebastelt:

Sub Click(Source As Button)
   
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   
   Set uidoc = ws.CurrentDocument
   
   Call uidoc.FieldSetText("Flag","1")
   Call uidoc.RefreshHideFormulas
   
End Sub

er setzt den eintrag in flag, aber er macht die Aktualisierung nicht automatisch, das heist wenn ich den button gedrückt habe bzw. loslasse. er versteckt das feld erst wenn ich f9 mache warum?

merccccciiiiii
Domino 7.01 - AS 400, Domino 7.01 - Win2003, Lotus Notes 8.01 Basic->PCs, NB, Terminal Server Farm.

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Felder verbergen - hide
« Antwort #7 am: 08.09.04 - 20:59:36 »
Ich hätte jetzt auch erwartet, dass es mit "RefreshHideFormulas" geht.

Welche Client-Version setzt Du ein?

Versuch mal ein: Call notesUIDocument.Refresh
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Felder verbergen - hide
« Antwort #8 am: 08.09.04 - 21:05:55 »
Habs gerade getestet. das Feld muss im Backend gesetzt werden.

So gehts mei mir (R5.0.11):

Sub Click(Source As Button)
   
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Set uidoc = ws.CurrentDocument
   Set doc = uidoc.Document
   
   'Call uidoc.FieldSetText("Flag","1")
   doc.Flag = "1"
   Call uidoc.RefreshHideFormulas
   
End Sub
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Felder verbergen - hide
« Antwort #9 am: 08.09.04 - 21:26:16 »
spitzenklasse!

wie sieht die ganze geschichte dann aus im lotus script?
ich möchte gerne die geschichte vom anfang an im lotus script machen!

merci einstweilen!

mfg horst

Ich schliesse mich jetzt mal Todes allseits bekannter Meinung an: Warum denn nur verdammt noch mal LS in solchem Fall ? WOZU ?
Wer mit @functions nicht klar kommt, scheitert garantiert auch mit LS.

By the way: In LS müsste das Update des UI-Docs mit
Call NotesUIWorkspace.ViewRefresh
passieren.

Bernhard

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Felder verbergen - hide
« Antwort #10 am: 08.09.04 - 21:41:49 »
By the way: In LS müsste das Update des UI-Docs mit
Call NotesUIWorkspace.ViewRefresh
passieren.

Na ja, dafür haben wir ja speziell die Methode uidoc.RefreshHideFormulas.
Macht imho auch Sinn, wenn man per LS die Hidewhens aktualisieren will, da doch sonst u.U. Feldvalidierungen zuschlagen, die man vielleicht hier noch gar nicht will.

Aber ansonsten gebe ich Dir vollkommen Recht: Ohne @Formula-Language - Kenntnisse und Einsatz  ist es imho nahezu unmöglich, eine App sauber zu programmieren.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re:Felder verbergen - hide
« Antwort #11 am: 09.09.04 - 13:32:18 »
Wenn Du Anfänger bist, ist das der FALSCHE Ansatz.

Lerne ERST Formel- Sprache, und mache damit ALLES, was Damit geht. Und wenn Du in sehr ferner Zukunft mit Formel alleine nicht weiterkommst, DANN beschäftige Dich mit Script, aber keinen Tag vorher.

Gerade an Deinem Thread sieht man es wieder...

Formel- Lösung:
@SetField( "Flag" ; "1" );
@Command( [ViewRefreshFields] )

Script-Lösung:
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Set uidoc = ws.CurrentDocument
   Set doc = uidoc.Document
   
   'Call uidoc.FieldSetText("Flag","1")
   doc.Flag = "1"
   Call uidoc.RefreshHideFormulas

was ist wohl die effizientere Methode zu Programmieren !?

Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Felder verbergen - hide
« Antwort #12 am: 09.09.04 - 20:53:39 »
Wenn Du Anfänger bist, ist das der FALSCHE Ansatz.

Lerne ERST Formel- Sprache, und mache damit ALLES, was Damit geht. Und wenn Du in sehr ferner Zukunft mit Formel alleine nicht weiterkommst, DANN beschäftige Dich mit Script, aber keinen Tag vorher.

Gerade an Deinem Thread sieht man es wieder...

Formel- Lösung:
@SetField( "Flag" ; "1" );
@Command( [ViewRefreshFields] )

Script-Lösung:
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Set uidoc = ws.CurrentDocument
   Set doc = uidoc.Document
   
   'Call uidoc.FieldSetText("Flag","1")
   doc.Flag = "1"
   Call uidoc.RefreshHideFormulas

was ist wohl die effizientere Methode zu Programmieren !?

Tode

Wie ich schon gesagt hatte, Tode:
"Wer mit @functions nicht klar kommt, scheitert garantiert auch mit LS."

Notes ohne @functions ist unmöglich, und mit @functions lernt man zudem auch am ehesten die Notes-Interna.

Bernhard

Glombi

  • Gast
Re:Felder verbergen - hide
« Antwort #13 am: 09.09.04 - 22:14:08 »
Eine interessante Frage: Was ist besser, um Notes zu verstehen: Formel oder Script?
Ist es nicht eher Script mit dem Klassenmodell?

Bitte nicht falsch verstehen! Ich bin auch ein alter Notsi, der mit der Formelsprache groß geworden ist und diese intensiv eingesetzt hat. Inzwischen mache ich aber nur noch triviale oder "high-end" Sachen (Listen, Lookups etc.) damit, dazwischen kommt Script.

Andreas

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Felder verbergen - hide
« Antwort #14 am: 09.09.04 - 22:23:14 »
Ich meine (Tode auch  ;D):
FORMEL.

Weil: Man kriegt nicht den kleinsten Pippifax hin in Notes, ohne mit @functions umgehen zu können. Keine Ansicht, keine Gliederung, in Masken kein Hide-when und anderes ... es macht einfach keinen Sinn, Notes-(oder vor allem Domino-)Apps zu entwerfen, wenn man nicht eine fundierte Ahnung von @functions hat.
Ausserdem setzen diese immer DIREKT ein fundiertes Wissen über die Notes-Backgrounds voraus.

Daher meine Meinung: Wer sich mit @functions nicht auskennt, fällt IMMER mit LS auf die Nase. Professionelle Ansprüche setze ich jetzt dabei voraus. Logisch.

Bernhard

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Felder verbergen - hide
« Antwort #15 am: 09.09.04 - 22:24:23 »
Eine interessante Frage: Was ist besser, um Notes zu verstehen: Formel oder Script?
Ist es nicht eher Script mit dem Klassenmodell?

Ich war ein Quereinsteiger mit wenig Vorwissen in Basic-Dialekten.
Zwangsläufig habe ich mit Formelsprache angefangen, komplett ausgereizt und hab dann mit LS begonnen, weil ich mit Formel einfach nicht mehr weiterkam. Für mich persönlich war das ein guter Weg.

Wenn Du mir Anfangs das Klassenmodell gezeigt hättest, dann hätte ich nur Bahnhof verstanden. Die Notes-Interna kenne ich aber nur wirklich, seit dem ich LS code.
Die Formelsprache hat mir persönlich die Notes-internas nicht aufgezeigt.

Mittlerweile mache ich es mit dem Einsatz von Formel & Script wie Du, Andreas (und wie wohl jeder, der das Know-how hat, Notes-Apps zu entwicklen)
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Glombi

  • Gast
Re:Felder verbergen - hide
« Antwort #16 am: 09.09.04 - 22:31:36 »
Da stimme ich voll zu. Ohne Formelsprache geht es nicht. Aber die Formelsprache ist nicht unbedingt besser als Script geeignet, die Architektur von Notes besser zu verstehen.

Die Schwächen der Formelsprache sind aus meiner Sicht:
implizite Typzuweisung
kein "Option Declare"
keine Unterscheidung Feld oder Variable
teilweise unübersichtliche Reihenfolge der Ausführung von @Commands
kein Debugging


Die Stärken der Formelsprache sind aus meiner Sicht:
sehr wenig Codezeilen notwendig
Performance
einfaches Handling von Mehrfachwerten

TBC...

Andreas

P.S.: Evtl. sollten wir das als BP eröffnen? Hier geht es unter.
« Letzte Änderung: 09.09.04 - 22:33:49 von Glombi »

Driri

  • Gast
Re:Felder verbergen - hide
« Antwort #17 am: 10.09.04 - 12:59:56 »
Aus meiner Erfahrung :

Ich kam aus der Welt Access/Visual Basic und bin dann auf Notes umgestiegen.
Angefangen habe ich mit der Formelsprache und erst, als das nicht mehr ausreichte, habe ich mich mit Script beschäftigt.

Allerdings finde ich, daß man durch das Erlernen von Script Notes wesentlich besser verstehen lernt, als wenn man nur mit der Formelsprache rumhantiert.
Also IMO sollte man auf jeden Fall mit den Grundlagen und Formelsprache beginnen und wenn man das intus hat, sich auf Script stürzen. Denn erst so kommt man tiefer in die Geheimnisse der Notes-Architektur.

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Felder verbergen - hide
« Antwort #18 am: 10.09.04 - 13:05:26 »
Na ja, ich bin da wohl ziemlich atypisch :) von vielen verschiedenen Erfahrungen herkommend waren die zwei Stationen vor Notes Basic (Vorgänger von VB, VB(A) gabs dann parallel zu Notes für mich), unmittelbar davor Delphi und dann rein ins Notes. Dann aber gleich sowohl mit Formel wie auch mit Script und ich kann das nur jemandem empfehlen, der von der Theorie der Lerntechnik eine Ahnung hat, sonst klappt das nicht, weil es einfach zu umfangreich ist. Also bitte nicht nachahmen .....
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline DaWutz

  • Senior Mitglied
  • ****
  • Beiträge: 253
  • Geschlecht: Männlich
Re:Felder verbergen - hide
« Antwort #19 am: 11.09.04 - 23:44:14 »
Also ich als Notes-Anfänger (jetzt ein gutes Jahr) kann dazu sagen, das ich meine ersten Schritte auch mit Formula gemacht habe, aber dann damit immer relativ schnell vor eine Wand gerannt bin.  Vor allem aber wohl, weil ich Sache die ich aus relationellen Datenbanken kannt auch in Notes nutzen wollte. Durch den Einsatz von Script kann ich nun auch einige Sachen nutzen, an die vorher nicht zu denken war.

Für mich ist Formula hauptsächlich unübersichtlich. Wenn man 2 oder 3 @If´s geschachtelt hat, dann braucht man ja schon ewig, um einen simplen Fehler wie eine falsche Klammer oder ein fehlendes " zu finden.

Und Notes-Internas zu verstehen... sowas masse ich mir garnicht an!  ::)
Grüße aus Bonn,

Daniel!

Domino 6.5.3 auf Win2k
Clients ab 6.01 CF2

>>... es ist mir scheißegal wer Dein Vater ist! Solange ich hier angele, wird NICHT über´s Wasser gelaufen!! <<

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz