はじめに
マッピングで指定フィールドに値をセットする時に、ラジオボタンの値や日付の月などによって「セットする値」で指定するフィールドが変えたい事があります。
通常ですと「フィールド値が特定の値ならば」などを使ってアクションを分岐させたり、「if 関数」を使って設定するのですが、今回の方法であれば分岐は不要になります。
今回のカスタマイズで出来ること
ラジオボタンを変更した時に選択した方の金額が選択金額にセットされます
アプリの準備
サンプルアプリとして以下のフィールドを作成しました。
編集画面では次のようになります。
ラジオボタンの項目名が各数値フィールドのフィールドコードの可変部分になりますので、各フィールドを設定時にはご注意ください。ここが合っていないと意図通りに動作しません。
Customineの設定
セットするフィールド数が1つの場合でも「フィールド値をまとめてセットする」を使います。マッピングでは選択金額にセットする値を
= @this[部門選択 & "_金額"]
と指定します。
この設定で、ラジオボタン変更時に選択した方の金額が「選択金額」にセットされます。
詳細説明
= 営業部_金額
というのは、
= @this.営業部_金額
と同じで、
= @this.営業部_金額
というのは、
= @this[“営業部_金額”]
と同じになります。
ですので、[]の中の文字列を生成することでコピー元となるフィールドを自由に変更することが出来ます。
@thisについては「フィールドマッピングの記述方法」も内容もご確認ください。
まとめ
今回の設定方法は逆に分かりにくいという方も多いと思います。
利点としては
・アクションを少なく出来る
という点だけだと思いますので、状況に合わせてご利用ください。