今回はテーブルの指定した行をコピーするカスタマイズをご紹介します!


テーブルを編集しているときに、2行目と5行目をコピーしたいなぁ…… なんてことありますよね?


Customineなら簡単に設定できちゃいます!


今回は、ある顧客からの注文の履歴をテーブルに記録していくアプリで、以前と似たような注文が来た場合、前の注文の行をコピーして編集するという使い方を例にとって紹介します。


Customineの基本的な事柄は、こちらの「はじめてのカスタマイズ」をご参照ください。


完成イメージ

テーブルの下の「テーブル行コピー」ボタンをクリックすると、コピーする行を選択するポップアップが表示し、そこで行を選択して「選択した行をコピー」ボタンを押すと・・・


選択した行がコピーされます。


アプリのフォーム

注文のテーブルの他に、コピーボタンを置くためのスペースフィールドを設置します。


フィールド

※フィールド名とフィールドコードは同じものを指定します

フィールド名

フィールドタイプ

備考

注文リスト

テーブル

初期値:なし
※下記、日付~小計まではテーブル内のフィールド

日付

日付


商品コード

文字列(1行)


商品名

文字列(1行)


単価

数値

桁区切りあり

単位:¥

数量

数値

桁区切りあり

小計

計算

計算式:「単価*数量」

桁区切りあり

単位:¥


スペース

要素ID:button


Customineの設定

ボタン設置

まずはボタンを設置します。


やること「ボタンをスペースに配置する」、条件「追加画面・編集画面を表示した時」を用います。

スペースは「button」スペースを指定し、ラベルも「テーブル行コピー」と指定します。


テーブルの行を選択するポップアップを表示する

ここでは、テーブル行をレコードとして取得し、それをポップアップ表示します。


まずは、やること「テーブル行をレコードとして取得する」、条件「ボタンを押した時」を使い、テーブル行の内容を取得します。


続いて、やること「レコードの一覧をポップアップで表示する」を使います。


この「やること」を使えば、テーブル行をポップアップで表示することができます。

パラメータ「選択方法」は「複数選択(チェックボックス)」に設定を変えておくと、表示したレコードの中から複数選択したものだけを絞り込めます。

また、パラメータ「未選択を許可するかどうか」は「未選択の場合OKを押せなくする」に設定を変えておき、レコード選択できていない時は次に進めないようにしておきます。


選択した行をコピーして追加する

ここで、テーブルに行を追加します。


やること「レコードをテーブルに書き出す」、条件「確認・入力ダイアログで「OK」を押した時」を使い、先のアクション(3番)で選択したテーブル行をコピーしてテーブルに追加するように設定します。


マッピングは以下の様に設定します。


「日付」だけは毎回違うはずなのでコピーしないことにし、「小計」は自動計算なのでセットする必要はなく、それ以外のフィールドについては、左の「挿入 ∨」から「フィールド」で挿入します。


また、パラメータ「既存の行」は「既存のテーブル行を残して追記する」を選択します。


ここまでできればカスタマイズは完成です。

次のような設定になったでしょうか?


終わりに

今回紹介したカスタマイズは現在のレコードの行を選択してコピーするものでしたが、「他のレコード内のテーブルをレコードとして取得する」を使えば同じアプリの別のレコードや別アプリのレコードの中のテーブルからコピーしてくる、なんてこともできます。

夢が広がりますね!!!


Customineドキュメントサポートページもぜひご活用ください。