给表格编号

aki发表于:2017年04月07日 15:31:27更新于:2022年07月27日 10:40:48

开发者中心包含此范例模板(表格自动编号),请前往开发者中心下载学习。


在kintone里做应用时,记录里作成表格是经常有的事情。在这种时候,大家是否有给表格的各行编号的想法呢?通常这个时候需要一些简单的JavaScript处理。

范例应用的构造

“数值” 字段设置成 “no” 后,转化成表格。表格字段代码设置为 “receipts”。

00158f824d8a94628496d74a464c5fb

事件的登记和值的更新

获取作成和编辑 “保存前” 的事件。

var events = [
    'app.record.create.submit',
    'app.record.edit.submit'
];
kintone.events.on(events, function(event) {}

 然后,在这事件中获取到行数。

var count = record.receipts.value.length;

通过循环将编号赋值到行数里。

for (var i = 0; i < count; i++) {
    record.receipts.value[i].value.no.value = i + 1;
}

以下是代码的全部。

(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;
    });
})();

很简单吧。经常会用到保存前的处理,大家如果能掌握获取事件和访问记录的内容在实际运用中就会事半功倍哦。

动作确认

接下来,我们就把范例代码放到应用里,确认下动作。
在添加新记录的时候,试着在表格里添加6行。(表格为空)

00158f824ddac39d37aa54dd304b834

点击 “保存” 按钮后执行JavaSciript,每行就会有编号了。

00158f824e07f9d9404a0506da12432

上图里显示编号成功了。这次只贴了添加记录时的事件处理,由于记录编辑完的时候也执行JavaScript的处理,因此可随时对编号进行重新编号。大家可以试试看。

该Tips在2015年1月版中进行过确认。