みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
ポータル行がアクティブな場合のみ、該当行のボタンを表示させ、非アクティブ行はボタンを非表示にしたいと考えています。
また、ポータル行がアクティブな時には、フィールドの文字を太字にする設定もしたいと思います。
これには条件付き書式を使用しようと考えているのですが、思うように設定ができず困っております。
ご助言いただけますと幸いです。どうぞよろしくお願い申し上げます。
Offline
ポータル内のテーブルに非保存計算フィールド(rnとする)
Get(レコード番号)
を作れば、オブジェクトを隠す計算式が
Get(アクティブポータル行番号)<>ポータルテーブル::rn
でできますが、ポータルから出たときに再表示しないと表示されたままになりますね。
ポータルのonObjectExitではできないようなので、どうしたものか。
条件付書式の方は、<>の代りに=ということになりますが、こっちは自動的に再表示されるようです。
ポータルに設定した onObjectEnter で リレーション::主キー を引数として、onObjectExit で引数をnullにして、トリガーして、
変数を設定[$$key ; Get ( スクリプト引数 )]
ウインドウの再表示
というスクリプトを走らせます。
オブジェクトを隠す計算式を
not ( リレーション::主キー = $$key and isvalid ( リレーション::主キー ) )
としておけば良いようです。
https://www.dropbox.com/scl/fi/q5cmkvfw … htveq&dl=0
ポータル行を使うと、、別にポータルがあったときに動作してしまいますよ。
変なところを修正しました。
Last edited by Shin (2023-11-07 14:16:06)
Offline
まだ解決しないのかな?
>Get(リレーション::主キー)
ここがちょっと変ですね。
>別にポータルが
なるほど、そこは考えてませんでした。
ポータルだからと言って「ポータル行」を使わなくても主キーで判別できるわけですね。
変数を使うので「onObjectExitではまだ出る前なので」という問題も関係なくなる。
グローバル変数なので他の用途とバッティングしないようにする。
Shin様、himadanee様
この度は回答が遅れ、大変申し訳ございませんでした。
Shin様よりお送りいただいたファイルを拝見し、内容を理解することができました。また、太字の書式設定に関しては、「$$key = テーブル2::副キー and IsValid ( テーブル2::副キー )」という計算式を用いることで実現できたことをご報告いたします。
当初はGet(アクティブポータル行番号)を使用する方法を考えていましたが、Shin様からの異なるアプローチによって新たな学びが得られました。
親テーブルのflagとテキストフィールドに設定されたスクリプトトリガ(新規ポータル行)の使用方法については、まだ完全には把握できておりませんが、今回の目的は無事達成することができました。
ありがとうございました。
Offline
Pages: 1
[ Generated in 0.006 seconds, 7 queries executed - Memory usage: 510.1 KiB (Peak: 516.09 KiB) ]