みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
ドラッグ&ドロップで、リスト表示の並び順の変更を、非常に単純なスクリプトで行うサンプルファイルです。少し変更するとポータルでも使えます。
サンプルは、ソートの状態で、別のレコード間に割り込ませる動きを作っていますが、一部を変更すると、対象の2列を入れ替える動きにもなります。
https://www.dropbox.com/s/nuvapfvqn2lxc … 7.zip?dl=0
動作の解説
各レコードに、ソート順を指定する数値フィールドを置いておき、1からのシリアル値を設定しておきます。(レコード番号と一致しています)
同じ内容を入れているオブジェクトフィールドが最前面に置かれています。クリックするとそのフィールドが選択され、別のレコードへドロップされると、そのオブジェクトフィールドを変更することになります(内容は同じなので、変更されたようには見えません)。そのフィールドには、自動入力が設定されており、自分自身の値へを設定し直すのですが、その式の中でグローバル変数へレコード番号を取得しています。
動作が終わると、その変更のトリガーで、スクリプトが動きます。元のレコードがアクティブになっていますので、そのレコード番号を別のグローバル変数へ取得します。2個のグローバルフィールドの値からレコードを特定し、ソート順を指定する数値フィールドを、目的の順になるように全置換を行い、ソートを行なっています。
最後の全置換の式を変更すると、対象の2レコードの位置の入れ替えの動作になります。
Last edited by Shin (2019-12-12 15:51:30)
Offline
機能の追加です。
行をクリックするだけですと、その行に新しいレコードが挿入追加されます。
https://www.dropbox.com/s/nuvapfvqn2lxc … 7.zip?dl=0
最終行の下に新規レコードを作る機能を追加しました。
ポータルの新規行の様に、新規行が架空で表示してあります。そこをクリックすると新規行が最下行に追加されます。
動作の解説
各レコードに、ソート順を指定する数値フィールドを置いておき、1からのシリアル値を設定しておきます。(レコード番号と一致しています)
同じ内容を入れているオブジェクトフィールドを一番上に置いておきます。クリックするとそのフィールドが選択され、別のレコードへドロップされると、そのオブジェクトフィールドを変更することになります。(内容は同じなので、変更されたようには見えません)そのフィールドには、自動入力が設定されており、自分自身の値へを設定し直すのですが、その式の中でグローバル変数へレコード番号を取得しておきます。
動作が終わると、その変更のトリガーで、スクリプトを動かし、元のレコードがアクティブになっていますので、そのレコード番号を別のグローバル変数へ取得します。さらに、ソート順を指定する数値フィールドを、目的の順になるように全置換を行い、ソートを行なっています。
レコードの挿入追加は、新規レコードでソート順の数値フィールドに既存の最大値より一つ大きな値を設定し、入れ替えと同じ動きを作っています。
なお、ソート順の数値フィールドは、レコード番号と一致している時点から開始することが前提ですので、リスト表示の際にシリアル値で全置換しておいてください。
Last edited by Shin (2018-03-01 17:36:51)
Offline
スプレッドシートのようなクロス集計シートの中で、ドラッグ&ドロップでデータを移行したり、データを追加するソリューションがあります。
そちらも参考になさってください。
https://www.dropbox.com/s/tbfdudns4wm6t … 7.zip?dl=0
Last edited by Shin (2019-12-12 15:53:36)
Offline
Pages: 1
[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 508.84 KiB (Peak: 514.83 KiB) ]