LoginSignup
8
8

More than 5 years have passed since last update.

kintoneでテーブルの各行に連番をつける

Posted at

課題

kintoneでシステムを作っていると、項目をまとめてテーブル化することがよくあります。
このとき、テーブルの各行に1行目から順に連番をつけたいということはよくあると思います。

kintoneの標準の機能ではこれはできないため、JavaScriptでのカスタマイズが必要です。

JavaScriptカスタマイズ

フィールドコード「receipts」というテーブルの中にフィールドコード「no」というフィールドがあるとします。
このフィールドに対して保存のタイミングで連番を付与します。

まず、作成時の編集時のイベントを取得するために、kintone.events.on()でイベントハンドラを登録します。

イベントハンドラの中では、eventに含まれるrecordオブジェクトを取得し、そこに含まれるreceiptsテーブルのvalueの数を数えておきます。これが行数になります。

あとは、ループを回しながら各行のnovalueに連番を設定していきます。

コードは以下のようになります。

(function() {
    "use strict";
    var events = [
        'app.record.create.submit',
        'app.record.edit.submit'
    ];
    kintone.events.on(events, function(event) {
        var record = event.record;
        // receiptsテーブルのno欄を自動採番する
        var count = record.receipts.value.length;
        for( var i = 0; i < count; i++ ){
            record.receipts.value[i].value.no.value = i + 1;
        }

        return event;
    });    
})();

簡単ですね。

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8