今回はテーブルの指定した行をコピーするカスタマイズをご紹介します!
テーブルを編集しているときに、2行目と5行目をコピーしたいなぁ…… なんてことありますよね?
Customineなら簡単に設定できちゃいます!
今回は、ある顧客からの注文の履歴をテーブルに記録していくアプリで、以前と似たような注文が来た場合、前の注文の行をコピーして編集するという使い方を例にとって紹介します。
Customineの基本的な事柄は、こちらの「はじめてのカスタマイズ」をご参照ください。
完成イメージ
テーブルの下の「テーブル行コピー」ボタンをクリックすると、コピーする行を選択するポップアップが表示し、そこで行を選択して「選択した行をコピー」ボタンを押すと・・・
選択した行がコピーされます。
アプリのフォーム
注文のテーブルの他に、コピーボタンを置くためのスペースフィールドを設置します。
フィールド
※フィールド名とフィールドコードは同じものを指定します
Customineの設定
ボタン設置
まずはボタンを設置します。
やること「ボタンをスペースに配置する」、条件「追加画面・編集画面を表示した時」を用います。
スペースは「button」スペースを指定し、ラベルも「テーブル行コピー」と指定します。
テーブルの行を選択するポップアップを表示する
ここでは、テーブル行をレコードとして取得し、それをポップアップ表示します。
まずは、やること「テーブル行をレコードとして取得する」、条件「ボタンを押した時」を使い、テーブル行の内容を取得します。
続いて、やること「レコードの一覧をポップアップで表示する」を使います。
この「やること」を使えば、テーブル行をポップアップで表示することができます。
パラメータ「選択方法」は「複数選択(チェックボックス)」に設定を変えておくと、表示したレコードの中から複数選択したものだけを絞り込めます。
また、パラメータ「未選択を許可するかどうか」は「未選択の場合OKを押せなくする」に設定を変えておき、レコード選択できていない時は次に進めないようにしておきます。
選択した行をコピーして追加する
ここで、テーブルに行を追加します。
やること「レコードをテーブルに書き出す」、条件「確認・入力ダイアログで「OK」を押した時」を使い、先のアクション(3番)で選択したテーブル行をコピーしてテーブルに追加するように設定します。
マッピングは以下の様に設定します。
「日付」だけは毎回違うはずなのでコピーしないことにし、「小計」は自動計算なのでセットする必要はなく、それ以外のフィールドについては、左の「挿入 ∨」から「フィールド」で挿入します。
また、パラメータ「既存の行」は「既存のテーブル行を残して追記する」を選択します。
ここまでできればカスタマイズは完成です。
次のような設定になったでしょうか?
終わりに
今回紹介したカスタマイズは現在のレコードの行を選択してコピーするものでしたが、「他のレコード内のテーブルをレコードとして取得する」を使えば同じアプリの別のレコードや別アプリのレコードの中のテーブルからコピーしてくる、なんてこともできます。
夢が広がりますね!!!
Customineドキュメントやサポートページもぜひご活用ください。