185 Views
August 16, 22
スライド概要
Notes/Dominoの@関数を取り上げながら、調べたこと、経験したことを雑談してゆきます。
第29回も @DialogBox について。
@ -notes knows community- 2021/06/10 @関数Talk 第29回 公開版 @ 阿部 覚 (tw:) @abesat
@ コロナ禍で、また少々長めに、熟成待ち… 要は間が空いちゃいましたので 私自身、「前回何やってたっけ?」なところがありますが 引き続き @
@ @DialogBox で放談 @
@ 今回のネタも@DialogBox 値も返すけれども 主機能はこんなダイアログ画面を表示すること (および必要に応じ、 この画面で得たフィールド値を 元の文書にセットすること) @
@ 今回のネタも@DialogBox 値も返すけれども 主機能はこんなダイアログ画面を表示すること (および必要に応じ、 この画面で得たフィールド値を 元の文書にセットすること) @ 前回はダイアログ画面に使える設計の種類や 画面の表示範囲 の話でしたが 画面の表示範囲の話でしたが
@ 今回のネタも@DialogBox 値も返すけれども 主機能はこんなダイアログ画面を表示すること (および必要に応じ、 この画面で得たフィールド値を 元の文書にセットすること) ☝今回は @ この部分のお話かなと
@DialogBoxでのフィールド値のセットとは @ 例えばこんなフォームがあって こんなボタンに @ @DialogBoxの こんな式が入っていて
@DialogBoxでのフィールド値のセットとは @ いっぽう、 ダイアログ側のサブフォームは フォーム側の 好きな食べ物と 同じフィールド名が @ チェックボックスの こんな 選択になっているとすると
@DialogBoxでのフィールド値のセットとは @ 実際の文書画面では、ボタンを押すと、 こんなダイアログが出て @
@DialogBoxでのフィールド値のセットとは @ ダイアログで、選択チェックしてOKすると、 元の文書の同じフィールドに反映される @ とまあ、こんな感じです
@DialogBoxでのフィールド値のセットとは @ 元のフォームとダイアログとで 同じフィールド名を使っているのがポイントになります @
@DialogBoxでのフィールド値のセットが有効なのは @ どんな状態からアクセスすれば @DialogBoxが文書更新してくれるかですが こんな感じでした 編集モードの文書 読み込みモードの文書 更新される 更新されない ビューで選択中の文書 更新される 特に要注意だと思ったのは、ビューからの@DialogBox @ 文書を開かず、保存せずに内容を変更できてしまいます
@DialogBox の構文はこんなでしたね @ つぎに、@DialogBoxのキーワードのうち フィールドの更新に絡んだ引数に着目したいと思います フォームの名前 キーワード @DialogBox( form ; [AUTOHORZFIT] :[AUTOVERTFIT] : [NOCANCEL] :[NONEWFIELDS] : [NOFIELDUPDATE] :[READONLY] : [SIZETOTABLE] :[NOOKCANCEL] :[OKCANCE LATBOTTOM] :[NONOTE] ; title ) タイトル @
@ 検証に使ったフォームとサブフォーム 文書用のフォームと ダイアログ用のサブフォームは FieldBだけが共通に存在します @ 文書側のFieldCと、ダイアログ側のFieldAは フィールドとしては存在しませんが、 もし「内部的に作られたら」 計算結果テキストで表示します
@ 引数なしで実施 ダイアログ内で手入力 @
[NONEWFIELDS] @ ダイアログ内で手入力 @ 文書と共通するフィールドしか 値を反映できません
[NOFIELDUPDATE] @ ダイアログ内で 手入力 @ ダイアログで入力しても文書に反映されません
[READONLY] @ 手入力の しようがないので そのままOK @ ダイアログが読み込みモードになるということですね フィールドがあってもデータの引継ぎはなし
[NONOTE] @ ダイアログ内で 手入力 @ 文書からダイアログに渡さず、ダイアログからも受け取らない
@ 更新に関わる引数のなんとなくまとめ [NOFIELDUPDATE]と[NONOTE]は 用途が限定されてると思え、 あまり覚えなくてよいのではないかと思います 前回、@DialogBoxに「ページ」が利用できるお話をしましたが ページを使えばデータ更新のないダイアログ表示で これらの引数を気にしなくてよいと思います @
@ おまけ ダイアログに"自分のフォーム"を 指定したらどうなる?を やってみました 表示されるダイアログ内でも さらに@DialogBoxのボタンを押すのを 繰り返したら… @ 5回目で怒られました😅
@ おまけ 実はダイアログのサブフォームには 文書を保存するボタンを仕込んでいました @ ダイアログ内でこれを押したらどうなったか? については いずれ、ブログにて補足いたします ( https://abesat.blog.jp/ )
@ 今回もお付き合い ありがとうございました 😀 @