テーブル内にボタンを配置したいこと、ありませんか?

ただ、カスタマインにはテーブル内にボタンを配置する「やること」はないため、チェックボックスフィールドをボタンの代わりに使用するカスタマイズをご紹介します!


完成例

テーブル内のチェックボックスフィールド「変更」をチェックすると別アプリ「品名マスタ」アプリのレコードをポップアップで表示し、

選択された品種と品名をチェックされた行に上書きします。


kintoneアプリ

カスタマイズ対象アプリ

「行番号一時保存」は、テーブルの『外』に作成します。

その他のフィールドはテーブル「使用リスト」内に作成してください。

フィールド名

フィールドコード

フィールドタイプ

テーブル

行番号一時保存

行番号一時保存

数値


行番号

行番号

数値

使用リスト

変更

変更

チェックボックス

使用リスト

品種

品種

文字列(1行)

使用リスト

品名

品名

文字列(1行)

使用リスト



品名マスタアプリ

フィールド名

フィールドコード

フィールドタイプ

テーブル

品種

品種

文字列(1行)


品名

品名

文字列(1行)




カスタマイズ例

テーブル行を識別する行番号のセット

まず、『どの行がチェックされたか』を判断するための行番号に値をセットします。

行番号のセットは、画面を表示した時と、テーブルに行が追加・削除された時に行います。


または、テーブルへの行追加を やること「レコードをテーブルに書き出す」で行っている場合は、そのアクションの後に やること「テーブルの列に行番号をセットする」のアクションを追加してください。


今回の例では、テーブル右端の+ーボタンを押した時に行番号をセットする例をご案内します。


アクション16

やること「テーブルの列に行番号をセットする

 テーブル内のフィールド(列):行番号

条件「追加画面・編集画面を表示した時


アクション17

やること「テーブルの列に行番号をセットする

 テーブル内のフィールド(列):行番号

条件「テーブルに行を追加または削除した時



「変更」がチェックされたら行番号をテーブル外にセット

次に、ボタンの代わりに設置した、チェックボックスフィールド「変更」がチェックされた時のカスタマイズです。

このフィールドは基本的に未チェックの状態で、ボタンの代わりにチェックした時だけ値が入った状態になります。


また、テーブル内のチェックボックスをチェックした時の 条件「フィールドの値を編集して値が変わった時」は、この条件が設定されたアクション(今回はアクション8)では『どの行の値が変更されたか』を使用できるのですが、

アクション9以降の 条件「他のアクションの実行が完了した時」で続くアクションでは『どの行の値が変更されたか』の情報が使用できなくなってしまいます。

そのため、テーブルの『外』に、どの行の値が変わったのかを識別するための「行番号」の値を保存しておいて、アクション9以降で行を特定したいときに使用します。


アクション8

チェックボックス「変更」にチェックされた行の行番号を、テーブル『外』の「行番号一時保存」フィールドにセットします。

カスタマイズによっては複数のフィールドの値を一時保存する必要があるため、例では やること「フィールド値をまとめてセットする」を使用していますが、

今回のようにフィールドが1つで問題なければ「フィールドに値をセットする」でもかまいません。


やること「フィールド値をまとめてセットする

 マッピングで、テーブル『外』の「行番号一時保存」フィールドに、テーブル『内』の「行番号」フィールドの値をセットします

条件「フィールドの値を編集して値が変わった時

 フィールド:変更

追加条件「フィールド値が空でないならば

 フィールド:変更



マスタアプリからレコードを取得してポップアップを表示

アクション9

品名マスタをポップアップで表示して、変更後の品名を選択するために、品名マスタのレコードを取得します。

今回は全レコードを取得していますが、何か条件を指定して取得されたい場合は、やること「条件を組み立ててレコードを取得する」をご利用ください。


やること「全レコードを取得する

条件「他のアクションの実行が完了した時

 アクション:8



アクション10

アクション9で取得した品名マスタのレコードをポップアップで表示します。

ポップアップ上で検索ができるように「キーワード検索するフィールド」も指定しておきます。


やること「レコードの一覧をポップアップで表示する

 レコード:9

 表示するフィールド:品種、品名

 キーワード検索するフィールド:品種、品名 ※検索したいフィールドを指定ください

 選択方法:単一選択(ラジオボタン)

 未選択を許可するかどうか:未選択の場合OKを押せなくする


 ※そのほかのパラメーターの指定は任意です

条件「他のアクションの実行が完了した時

 アクション:9



テーブル内フィールドへ値のセット

ポップアップで品名を選択し、OKボタンが押されたらテーブル行に値をセットします。

今回テーブル内の「品番」「品名」の2つのフィールドに値をセットするのですが、テーブル内のフィールドは、やること「フィールド値をまとめてセットする」を使用できないので、値をセットしたいフィールドごとに やること「フィールドに値をセットする」のアクションを作成してください。

ですので今回は2つアクションを作成します。


また、やること「フィールドに値をセットする」の条件に、『どの行に値をセットするのか』を識別するために、行番号を 条件「フィールド値が特定の値ならば」を必ず指定してください。


アクション11

やること「フィールドに値をセットする

 フィールド:品種

 値:= $10[0].品種

条件「確認・入力ダイアログで「OK」を押した時

追加条件「フィールド値が特定の値ならば

 フィールド:行番号

 条件:等しい

 比較値:= 行番号一時保存


アクション18

やること「フィールドに値をセットする

 フィールド:品名

 値:= $10[0].品名

条件「確認・入力ダイアログで「OK」を押した時

追加条件「フィールド値が特定の値ならば

 フィールド:行番号

 条件:等しい

 比較値:= 行番号一時保存



フィールド値のクリア

以下は、ポップアップでキャンセルが押された時や、値のセットが完了した時に、「行番号一時保存」フィールドとチェックボックス「変更」フィールドをクリアする処理です。

テーブル『内』とテーブル『外』のフィールドは1つのアクションでクリアできないので、アクションを分けます。


アクション19

こちらはポップアップで「キャンセル」を押したときと、値のセットまで進んだときの、アクション13と14の値のクリアの処理を1つにまとめるためのアクションです。


やること「なにもしない

条件「確認・入力ダイアログで「キャンセル」を押した時



最後に、「行番号一時保存」と「変更」フィールドをクリアします。

アクション13

やること「フィールド値をクリアする

 フィールド:行番号一時保存

条件「いずれかのアクションの実行が完了した時

 アクション:19,18


アクション14

やること「フィールド値をクリアする

 フィールド:行番号一時保存

条件「他のアクションの実行が完了した時

 アクション:13


以上でカスタマイズは完了です。


テーブル内にボタンを配置する代わりに、チェックボックスにチェックを入れるとポップアップが表示され、選択した値がテーブル行にセットされるようになるか実行をお試しください。


ご不明な点がございましたら、チャットでお問い合わせください。

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