Autor Thema: Layoutbereich über @DialogBox -> Pflichtfeld prüfen  (Gelesen 1504 mal)

Offline Silver

  • Senior Mitglied
  • ****
  • Beiträge: 294
  • Geschlecht: Männlich
  • "free your mind"
Hallo!

Ich habe eine Maske, in der ein Layoutbereich Optionsschaltflächen enthält. Dieser Layoutbereich (bzw. diese Maske) wird aus einer anderen Maske mit @DialogBox aufgerufen.

Soweit so gut. Nun will ich noch eine Prüfung einfügen, die zur Auswahl einer Optionsschaltfläche zwingt, wenn auf OK geklickt und noch keine Selektion getroffen wurde. Hatte dies in`s Query-Close-Event geschrieben. Aber dann kommt die Meldung auch nach Klick auf "Abbrechen".

Wie muss ich das lösen? Hab leider überhaupt keine Idee.

Offline gossifu

  • Senior Mitglied
  • ****
  • Beiträge: 352
  • Geschlecht: Männlich
  • Dummheit schafft Freizeit
Re: Layoutbereich über @DialogBox -> Pflichtfeld prüfen
« Antwort #1 am: 18.11.05 - 09:48:38 »
Hallo,

passiert der Aufruf per Formel oder Script.

Bei Script kannst Du mit Hilfe des erforderlichen Dokuments das Feld prüfen und wenn nicht gewählt,
die Dialogbox erneut aufrufen. Solange bis abgebrochen wird oder das Feld korrekt gefüllt ist.
Macht sich am besten mit Sprungmarken


Dim s as New NotesSession
Dim ws as New NotesUIWorkspace
Dim db as NotesDatabase
dim helpdoc as NotesDocument
Dim dialogbox as Variant

Set db = s.CurrentDatabase
Set helpdoc = db.CreateDocument

dialog:
dialogbox = ws.Dialogbox(....,helpdoc,...)
If dialogbox Then
     If helpdoc.prueffeld(0) = "" Then
            msgbox "Bitte eine Auswahl treffen."
            Goto dialog
     End if
end if
.

Für Formel fällt mir dafür spontan keine Lösung ein.

mfg

Kjeld
Immer lustig und vergnügt, bis der A.... im Sarge liegt. ;-)

Offline stitze

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
    • kleisterbande
Re: Layoutbereich über @DialogBox -> Pflichtfeld prüfen
« Antwort #2 am: 18.11.05 - 09:57:51 »
Vieleicht könnte dir aber auch @PickList weiterhelfen?
When i loaded my cap gun , i'm ready for action.

Saying that Java is nice because it works on all OS's is like saying anal sex is nice because it works on all genders.

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Layoutbereich über @DialogBox -> Pflichtfeld prüfen
« Antwort #3 am: 21.11.05 - 08:30:56 »
Hi,

dafür gibt es in der Klasse NotesUIDocument die Eigenschaft DialogBoxCanceled. Damit kannst du prüfen, ob die Dialogbox mit OK oder Abbrechen geschlossen wurde.

Beisp.:

Sub Queryclose(Source As NotesUIDocument, Continue As Variant)
  If Source.DialogBoxCanceled Then
    'Dialog wurde mit Abbrechen beendet
  Else
    'Dialog wurde mit OK beendet
    'Prüfen der Pflichtfelder
    If Source.Document.Feldname(0) = "" THen
      Messagebox "Feldname darf nicht leer sein"
      Continue = False  'Dialogbox bleibt offen
      EXit Sub
    End If
  End If 
...
End Sub


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Layoutbereich über @DialogBox -> Pflichtfeld prüfen
« Antwort #4 am: 21.11.05 - 10:11:06 »
Die standard- OK und Abbrechen- Buttons einer @Dialogbox erlauben kein "abfangen".

Für so eine Anforderung musst Du immer eigene Buttons einsetzen. Setze die Optionen "[NOCANCEL]" und "[NOOKCANCEL]" um die Systemeigenen Buttons zu verbergen.

daqnn erstell Deine eigenen Buttons und prüfe in diesen die Gültigkeit.

Dazu gibt es zwei Möglichkeiten.

1. Im Feld selbst eine eingabevalidierung hinterlegen:

@If( @ThisValue = "" ; @Failure( "Dieses Feld muss ausgefüllt werden") ; @Success );

dann im Button:
@If( !@IsValid ; @Return( "" ) ; "" );
@Command( [RefreshParentNote] );
@Command( [FileCloseWindow] );

2. im Button die Validierung machen:

@If( DeinFeld = "" ; @Return( @Prompt( [OK] ; "FEHLER" ; "Dieses Feld muss ausgefüllt werden" ) ) ; "" );
@Command( [RefreshParentNote] );
@Command( [FileCloseWindow] );


HTH
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 Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Layoutbereich über @DialogBox -> Pflichtfeld prüfen
« Antwort #5 am: 21.11.05 - 10:36:35 »
Die standard- OK und Abbrechen- Buttons einer @Dialogbox erlauben kein "abfangen".

Für so eine Anforderung musst Du immer eigene Buttons einsetzen. ...


Wieso muss man?

Wenn man dass in QureyClose-Event mit NotesUIDocument.DialogBoxCanceled macht, muss man nicht.


Axel

Ohne Computer wären wir noch lange nicht hinterm Mond!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz