実験準備(サンプル作成)
ポータルに新規レコードを追加・削除の実験をする為に簡単なサンプルを準備しました。
メインのテーブル(フィールドIDだけ)とポータルに表示する用のポータル用テーブル(IDと内容というフィールドだけ)のシンプルなサンプルを準備しました。
IDでリレーションを作成して、ポータル用テーブルには、自動でIDが入力されるように、
ココがポイント
「このリレーションシップを使用して、このテーブルでのレコードの作成を許可」にチェック
しました。
メインテーブルのレイアウトに、ポータル(ポータル用テーブル)を設置しました。
この状態からブラウズモードで見ると下記のようになります。
内容の空欄に内容を入力すると初めてIDが自動追加されて新規レーコードが追加される流れとなっています。
ココがダメ
なんか見た目かっこわるくないですか!?
削除ボタンを設置すると更にカッコ悪い
削除ボタンを設置して単一スクリプトを設定してみました。
ちなみに、アイコンの色が変えられなくて時間がかかってしまったので備忘録として追記しておきます。
参考(アイコン色変更)
インスペクタ -> 外観 -> 「ボタン」 のところを「ボタン:アイコン」に変更すれば、アイコンの色等の指定可能
それから、削除ボタンを設置したら、先頭にしか表示されないとうい挙動がおかしい状態に遭遇したので解決方法を備忘録として追記しておきます。
参考(削除ボタンが先頭にしか表示されない現象)
アイコンを、レコードのテキストフィールドに重なるように置いたり移動していたら解消した???
削除ボタンを設置すると、上のようになり、レコードが登録されてない場所にも、削除ボタンが出現しています。
なんか、カッコ悪くないですか?初めて使う様な人だと理解に苦しむんじゃないでしょうか?
レコードが無い場所に削除ボタンがあり、押しても何も変化がありません。だったら無い方がいいですよね。
カッコいい(直感的にも理解しやすい)方法
ココがポイント
レコードが無い時には、フィールドも削除ボタンも隠しておくという方法があることを知りました!
ポータルのIDが空の時は、隠しておくという設定をしました。
そうすると、空のレコードが表示されなくなり、削除ボタンも表示されなくなりました。
このままでは、新規レコードの追加ができませんので、次に追加ボタンを設置します。
なぜか、ポータルのレコード追加スクリプトが無いので自分でスクリプトを作らなければなりません。
追加ボタンを設置して下記のように、IDが空ではない時だけ隠すように設定します。
ボタンには、単一スクリプトを設定しました。
ポータル用テーブルのIDは、新規レコードが追加されれば自動で入力されるのですが、新規レコードを作りたいので、強制的にIDを入力させることでレコードを追加させるようにしました。
「+」ボタンをクリックすることで、新規レコードが追加されて、「ごみ箱」ボタンをクリックすると対象レコードが削除されます。
この見え方の方がカッコいいですね。
さらに、初心者の人でも直感的に操作できる見え方ですよね。
ちょっと余計な手間が必要にはなりますが、誰が使っても使いやすい仕組みにしていきたいものです。
FileMakerPro19バージョンですが、サンプルファイルを添付しておきます。