サブテーブル 行追加時の挙動について

 お世話になっております。

 

早速ですが、サブテーブルで行追加した際に特定項目のみ編集不可にしたく、下記の通り設定いたしました。

//テーブル追加時に’項目’を編集不可
     kintone.events.on([‘app.record.create.change.テーブル’,‘app.record.edit.change.テーブル’], function(event){
         event.changes.row.value[‘項目’].disabled = true;
         return event;
     });

 

こちらで通常の処理は成功したのですが、画面上で行追加ボタンを連打(短時間で複数回押下)すると、処理が追いつかずに編集不可にならない行が追加されてしまいます。

回避策等をご存知の方がいらっしゃれば、ご教示頂けないでしょうか?

yamashita さん

確かに行追加を連打すると、処理が追い付かない場合がありますね。

追加時のイベント自体は、発生していますので全行を処理すると抜けは無くなります。

たぶん、レコード表示イベントでは全行の編集不可処理を行っていると思いますので、同じ処理を実行してはいかがでしょうか?

 

kintone.events.on(['app.record.create.show','app.record.edit.show','app.record.create.change.テーブル','app.record.edit.change.テーブル'], function(event){
event.record.テーブル.value.forEach(function(row) {
row.value['項目'].disabled = true;
});
return event;
});

rex0220 さん

はじめまして、ご連絡有難う御座います。

ご指摘の通り修正することで回避することが出来ました。

有難う御座いました。

山下