今回はテーブルの指定した行をコピーするするカスタマイズをご紹介します!
テーブルを編集しているときに、2行目と5行目をコピーしたいなぁ・・・なんてことありますよね?
Customineなら簡単に設定できちゃいます!
今回は、ある顧客からの注文の履歴をテーブルに記録していくアプリで、以前と似たような注文が来た場合、前の注文の行をコピーして編集するという使い方を例にとって紹介します。
Customineの基本的な事柄は、こちらの「はじめてのカスタマイズ」をご参照ください。
完成イメージ
テーブルの下の「テーブル行コピー」ボタンをクリックすると、コピーする行を選択するポップアップが表示し、そこで行を選択して「選択した行をコピー」ボタンを押すと・・・
選択した行がコピーされます。
アプリのフォーム
注文のテーブルの他に、コピーボタンを置くためのスペースフィールドを設置します。
「注文リスト」テーブル内のフィールド
フィールドタイプ | フィールド名 | フィールドコード | 備考 |
日付 | 日付 | 日付 | 初期値:なし |
文字列(1行) | 商品コード | 商品コード | なし |
文字列(1行) | 商品名 | 商品名 | なし |
数値 | 単価 | 単価 | 桁区切りあり 単位:¥ |
数値 | 数量 | 数量 | 桁区切りあり |
計算 | 小計 | 小計 | 計算式:「単価*数量」 桁区切りあり 単位:¥ |
ボタン設置用スペース
フィールドタイプ | 要素ID |
スペース | button |
Customineの設定
ボタン設置
やること
「ボタンをスペースに配置する」を使用します。「button」スペースに「テーブル行コピー」ボタンを設置します。
条件
「追加画面・編集画面を表示した時」を使用します。
テーブルの行を選択するポップアップを表示する
「テーブル行をレコードとして取得する」+「レコードの一覧をポップアップで表示する」で実現出来ます。
やること
「テーブル行をレコードとして取得する」です。
条件
38番アクションで設置したボタンを押した時に動作させたいので、「ボタンを押した時」を使います。
やること
「レコードの一覧をポップアップで表示する」を使います。「テーブル行をレコードとして取得する」と組み合わせることで、テーブル行をポップアップで表示することができます。
「選択方法」はレコードを表示するだけでなく、表示したレコードの中から選択したものだけに絞り込みたい場合に使います。
「単一選択(ラジオボタン)」「複数選択(チェックボックス)」の2種類から選べます。どちらでも構いませんが、今回は複数選べた方が便利そうなので、「複数選択(チェックボックス)」にしています。
条件
39番のアクションに続けて行いたいので、「他のアクションの実行が完了した時」を使います。
選択した行をコピーして追加する
やること
「レコードをテーブルに書き出す」で40番で選択したテーブル行をコピーしてテーブルに追加します。
マッピングは以下の様になっています。
「日付」だけは毎回違うはずなのでコピーしないことにしました。また、「小計」は自動計算なのでセットしなくていいです。
「既存の行」は「既存のテーブル行を残して追記する」を選択します。
条件
40番のアクションで表示したポップアップ内の「選択した行をコピー」ボタンを押した時にセットしたいので、「確認・入力ダイアログで「OK」を押した時」をつかいます。
終わりに
今回紹介したカスタマイズは現在のレコードの行を選択してコピーするものでしたが、「他のレコード内のテーブルをレコードとして取得する」を使えば同じアプリの別のレコードや別アプリのレコードの中のテーブルからコピーしてくる、なんてこともできますよ!
夢が広がりますね!!
Customineドキュメントやサポートページもぜひご活用ください。