レコード追加時にテーブルへ初期値を入れる!

著者名:酒井 康晴(サイボウズ株式会社)

目次

はじめに

こんにちは、kintone 開発チームの酒井です。

今回は、JavaScript カスタマイズでテーブルの初期値を設定する方法を紹介します。

サンプルアプリ

サンプルアプリは以下のフィールドをテーブルに配置しましょう。テーブルのフィールドコードはデフォルトの「テーブル」のままです。

フィールドタイプ フィールド名 フィールドコード
数値 Number Number
文字列(1行) Tips Tips

サンプルプログラム

このアプリに、以下のサンプルプログラムを読み込ませます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/**
 * @fileoverview レコード作成時にテーブルへ初期値を入れるサンプル。
 * 対象アプリには、フィールドコード「Table」というテーブルに、
 * フィールドコード「Number」という数値フィールドと、
 * フィールドコード「Tips」という文字列1行フィールドがある。
 * Copyright (c) 2020 Cybozu
 *
 * Licensed under the MIT License
 * https://opensource.org/license/mit/
 */

(() => {
  'use strict';

  kintone.events.on('app.record.create.show', (event) => {
    // 行の作成
    const newRow1 = createValue_('1', 'テーブルは、行を追加/削除することができます');
    const newRow2 = createValue_('2', 'JavaScriptカスタマイズで行の追加/削除ができます。');

    // Tableに初期値を定義する
    event.record.テーブル.value = [
      newRow1,
      newRow2
    ];
    return event;
  });

  const createValue_ = (number, text) => (
    {
      value: {
        Number: {
          type: 'NUMBER',
          value: number
        },
        Tips: {
          type: 'SINGLE_LINE_TEXT',
          value: text
        }
      }
    }
  );
})();

実行結果

では、レコードを追加してみましょう。

このように、レコード追加時にテーブルへ値を入れることができました!
めでたし、めでたし!

補足

今回は app.record.create.show イベントでしたが、app.record.edit.show イベントや change 系イベントにも対応しています。
ですので、編集画面を開いたらテーブルの行を追加/削除したり、ラジオボタンの変化で行を追加/削除したりもできます。

この Tips が、皆様の参考になりましたら幸いでございます。

information

この Tips は、2022 年 10 月版 kintone で動作を確認しています。