初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2023-02-07 14:26:39

currypun
Guest

フィールドを非表示にした時に空いたスペース分だけ隣のフィールドをスライドしてスペースを詰めたい

フォーム画面のレイアウトでポータルツール上に横並びにフィールドを並べています。
あるフィールドを非表示にした時に空いたスペース分だけ隣のフィールドをスライドしてスペースを詰めたいのですが、可能でしょうか?
スクリプトでレイアウト上のオブジェクトの位置を変更する方法も調べたのですが見つからず、もし可能であればご教授いただきたいです。

#2 2023-02-07 14:34:04

Shin
Member

Re: フィールドを非表示にした時に空いたスペース分だけ隣のフィールドをスライドしてスペースを詰めたい

プレビューや印刷時には、スライドを使えばいいのですが、ブラウズモードではフィールドは動きませんね。

動的にフィールドを表示させる方法は、表示だけならばごく簡単なんですが、そのフィールドを編集するには、ちょっとしたトリックを使えば実現可能です。
https://fm-aid.com/bbs2/viewtopic.php?pid=78764#p78764
のサンプルを参照ください。通常は編集できない集計フィールドに対して、編集する動きを作っています。同じような動きを作れば、レイアウト上のフィールドを動的に変更でき、編集できます。

Last edited by Shin (2023-02-07 14:36:48)

Offline

#3 2023-02-07 15:35:35

チポ
Member

Re: フィールドを非表示にした時に空いたスペース分だけ隣のフィールドをスライドしてスペースを詰めたい

ポータル行によって、
あるフィールドが表示されたり非表示となって、
その間を詰める?

そうだとすると、とても見づらいものになりそうですが。。

Offline

#4 2023-02-07 16:03:06

currypun
Guest

Re: フィールドを非表示にした時に空いたスペース分だけ隣のフィールドをスライドしてスペースを詰めたい

説明が足りておらずすみません。。
例えば以下のようにメールアドレスのフィールド列を非表示にするとその分空いたスペースを切り詰める機能を実装したいです。

ID 氏名 メールアドレス 住所
1  太郎 example.com  東京都
2    花子 example2.com  大阪府

↓ メールアドレスのフィールド列を非表示にする

【現在】メールアドレスの列のスペースが空いたままになる。
ID 氏名         住所
1  太郎         東京都
2    花子           大阪府

【理想】非表示になったスペースを詰めて表示したい。
ID 氏名 住所
1.   太郎 東京都
2.   花子 大阪府

#5 2023-02-07 16:13:23

Shin
Member

Re: フィールドを非表示にした時に空いたスペース分だけ隣のフィールドをスライドしてスペースを詰めたい

もし、そのポータルの中で入力を行わないのであれば、
ID & 氏名 & Case ( flg ; メールアドレス ) & 住所
という計算フィールドを作っておいて、それを表示させればいいでしょう。(flg = 1 でメールフィールドを表示)

Offline

#6 2023-02-07 16:38:27

チポ
Member

Re: フィールドを非表示にした時に空いたスペース分だけ隣のフィールドをスライドしてスペースを詰めたい

アドレスのあるものと、ないもの二つのポータルを作って、
それ自体を表示、非表示すればいいのでは。

Offline

#7 2023-02-07 17:22:36

currypun
Guest

Re: フィールドを非表示にした時に空いたスペース分だけ隣のフィールドをスライドしてスペースを詰めたい

Shin様
ご回答いただきありがとうございます。
計算フィールドや繰り返しを用いた方法も参照させていただき、頭になかったので非常に勉強になりました!ありがとうございます。
ただ、今回編集が必要なのとフィールドによって値一覧などが異なるため、難しそうです。。

チポ様
ご回答いただきありがとうございます!
今回列の数がかなり多いため、全てのポータルを作成するのが困難でした。前提条件が抜けていまして申し訳ないです。

#8 2023-02-08 07:01:10

himadanee
Guest

Re: フィールドを非表示にした時に空いたスペース分だけ隣のフィールドをスライドしてスペースを詰めたい

「列の数がかなり多い」と言いますが、ポータルだとそもそも横スクロールができないですよね。
別ウィンドウで表形式でなら、と思ったけど、これは列の非表示を切り替えるのがスクリプト化できないんですね...切り替え以外のメニューが多いのでヘッダのメニューで操作するのは煩雑かなあ

#9 2023-02-08 09:00:09

Shin
Member

Re: フィールドを非表示にした時に空いたスペース分だけ隣のフィールドをスライドしてスペースを詰めたい

https://fm-aid.com/bbs2/viewtopic.php?pid=82476#p82476 の方法で表示し、文字列をクリックされたら、その位置を Get ( アクティブ選択位置 ) で取得して、どの項目かをみれば、そこに該当するフィールドを編集する、という仕組みもわりと簡単に作れます。

または、
https://www.dropbox.com/s/gv7gg4kaomqrz … 2.zip?dl=0
みたいな感じで、同じオブジェクトで異なるフィールドを扱えるような仕組みは作れます。順番も自由です。値一覧も、制限はありますがそれに追従します。シンプルにするために繰り返しフィールドで構成してありますが、独立したフィールドでも同じです。これを大規模に作り込めばいいのかも。

Last edited by Shin (2023-02-08 13:18:53)

Offline

#10 2023-02-08 09:05:55

チポ
Member

Re: フィールドを非表示にした時に空いたスペース分だけ隣のフィールドをスライドしてスペースを詰めたい

> 今回列の数がかなり多いため
ポータルのフィールド数が多く、
その中で非表示にする組み合わせ数が多い。
ということですか?

どのような希望でそうなるのでしょう?
もっと具体的に書かれればほかの道もあるかもしれませんよ。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 564.59 KiB (Peak: 579.03 KiB) ]