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


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


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


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


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


完成イメージ


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


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



アプリのフォーム


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




「注文リスト」テーブル内のフィールド


フィールドタイプ

フィールド名

フィールドコード

備考

日付

日付

日付

初期値:なし

文字列(1行)

商品コード

商品コード

なし

文字列(1行)

商品名

商品名

なし

数値

単価

単価

桁区切りあり

単位:¥

数値

数量

数量

桁区切りあり

計算

小計

小計

計算式:「単価*数量」

桁区切りあり

単位:¥



ボタン設置用スペース


フィールドタイプ

要素ID

スペース

button



Customineの設定


ボタン設置


やること

ボタンをスペースに配置する」を使用します。「button」スペースに「テーブル行コピー」ボタンを設置します。


条件

追加画面・編集画面を表示した時」を使用します。



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

「テーブル行をレコードとして取得する」+「レコードの一覧をポップアップで表示する」で実現出来ます。



やること

テーブル行をレコードとして取得する」です。


条件

38番アクションで設置したボタンを押した時に動作させたいので、「ボタンを押した時」を使います。




やること

レコードの一覧をポップアップで表示する」を使います。「テーブル行をレコードとして取得する」と組み合わせることで、テーブル行をポップアップで表示することができます。


「選択方法」はレコードを表示するだけでなく、表示したレコードの中から選択したものだけに絞り込みたい場合に使います。

「単一選択(ラジオボタン)」「複数選択(チェックボックス)」の2種類から選べます。どちらでも構いませんが、今回は複数選べた方が便利そうなので、「複数選択(チェックボックス)」にしています。


条件

39番のアクションに続けて行いたいので、「他のアクションの実行が完了した時」を使います。



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


やること

レコードをテーブルに書き出す」で40番で選択したテーブル行をコピーしてテーブルに追加します。


マッピングは以下の様になっています。

「日付」だけは毎回違うはずなのでコピーしないことにしました。また、「小計」は自動計算なのでセットしなくていいです。


「既存の行」は「既存のテーブル行を残して追記する」を選択します。


条件

40番のアクションで表示したポップアップ内の「選択した行をコピー」ボタンを押した時にセットしたいので、「確認・入力ダイアログで「OK」を押した時」をつかいます。


終わりに

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


夢が広がりますね!!


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