Cybozu developer networkのTipsのURL:

https://developer.cybozu.io/hc/ja/articles/200752984


kintone アプリのレコードには、テーブルという複数の行を作成できますが、カスタマイズによってテーブルを操作するのは通常のフィールドを操作するより、難易度が一段高くなります。

そこで今回はテーブルへの行の追加、行の削除、全行の削除、特定の行の更新といった、基本的なテーブル操作のカスタマイズをご紹介します!

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


アプリのフォーム

以下の2フィールドを作成し、一つのテーブルにします。

フィールドタイプ

フィールド名

フィールドコード

備考

数値

数値

数値


文字列 (1行)

文字列 (1行)

文字列__1行_



やりたいこと

  • 行の追加

  • 行の削除

  • 全行の削除

  • 特定の行の更新

  • テーブルの編集不可

Customineの設定

今回はテストのしやすさのため、「追加画面・編集画面を表示した時」「ボタンをメニュー位置に配置する」でボタンを設置し、「ボタンを押した時」で対応するボタンを押した時に発動するように設定しています。

ボタンは下図のように設置されます。


テーブルへの行の追加


やること

テーブルに行を追加する」を使用します。追加位置は「テーブルの先頭」と「テーブルの末尾」から選択できます。

各フィールドに値を入れた状態で行を追加することもできます。


テーブルから行を削除する


やること

テーブルから行を削除する」を使用します。削除する行を「テーブルの先頭行」と「テーブルの末尾の行」から選択できます。


テーブルの全行を削除する


やること

フィールド値をクリアする」でテーブルそのものを指定するとテーブルの全行を削除し、空の行が一行あるだけの状態にします。


特定の行のフィールドを更新する

Customineでは「〇行目のフィールドを更新」や「行ID×××××のフィールドを更新」のように行を直接指定することはできませんが、「フィールドの値を編集して値が変わった時」を使って編集された行を指定したり、「フィールド値が特定の値ならば」で条件に合う行を指定することはできます。

今回は「フィールド値が特定の値ならば」で条件に合う行を指定する方法をご紹介します。

フィールドの値を編集して値が変わった時」を使って編集された行を指定する方法はこちらのTipsで紹介しています。


条件

フィールド値が特定の値ならば」でテーブルのフィールドを指定しておくと、「やること」はテーブル内の条件に合う行にのみ適用されます。

今回の例では「やること」を「フィールドに値をセットする」することで、条件に合う行にのみ決められた値をセットしています。


行増減ボタンを左端に移動する

テーブルの列が多くなってくると、テーブルの右端にある行増減ボタンを押すために毎回画面を右にスクロールしなければならず、非常に面倒です。

そんな時は、「行増減ボタンを左端に移動する」と便利になります!

テーブルの列を編集不可にする

テーブル内の縦一列を編集不可にしたい場合、「追加画面・編集画面を表示した時」「フィールドを無効化する」で編集不可にすることができますが、編集不可になるのは追加画面・編集画面を表示したときに存在する行のみであり、その後新しく追加された行に対しては適用されません。そこで、「テーブルに行を追加した時」「フィールドを無効化する」で新たに追加された行についても編集不可にする必要があります。


また、「テーブルに行を追加する」で追加した行も編集不可を適用したい場合、「他のアクションの実行が完了した時」を使って、行追加の直後に編集不可にするアクションを追加します。


テーブル全体を編集不可にする

テーブル全体を編集不可にしたい場合、テーブル内の全行の編集不可に加えて、行の増減も不可能にしておく必要があります。

終わりに

ここまでテーブル操作や編集不可などテーブルに関する基本的なカスタマイズをご紹介しました。

汎用なカスタマイズですので「やること」「条件」の組み合わせを変えれば自在にテーブルを操れるでしょう。

組み合わせをいろいろ試して目指す動きにたどり着いてください!

Customineヘルプサポートをご活用ください。

もし分からないことがありましたら、フォーラムの方でご質問ください。