結論
サブテーブルの行増減を禁止したい場合は以下の方法があります。
①カスタマイズにて実装する
②対応するプラグインを導入する
kintoneの標準機能では実装することができません。
①カスタマイズにて実装する
サブテーブルの+/-を非表示にするカスタマイズの例です。
以下のcustomize.jsを導入すれば編集時に最上部のサブテーブルの行増減を禁止します。
(function () {
// 編集表示時にevent実行
kintone.events.on("app.record.edit.show", (event) => {
// 対象サブテーブルのDOMを取得する。
const subtable = document.getElementsByClassName("subtable-row-gaia")[0]
// <tbody>DOMを取得する
const tbody = subtable.getElementsByTagName("tbody")[0];
// 対象サブテーブルのアクションボタンのDOMを取得する。
const rows = tbody.getElementsByClassName("subtable-operation-gaia");
// 一行ずつスタイルを変更してアクションボタンを非表示にする。
for (let i = 0; i < rows.length; i++) {
rows[i].style.display = "none";
}
});
})();
実行例
画面最上部のサブテーブルの行増減が禁止(+/-ボタンを非表示)にします。
【対象サブテーブルを変更する方法】
下記行の[0]の部分を変更することで対象サブテーブルを変更できます。
const subtable = document.getElementsByClassName("subtable-row-gaia")[0];
例)「document.getElementsByClassName("subtable-row-gaia")[1]」とする場合は上から2番目のテーブルを対象とすることができます。
②対応するプラグインを導入する
ステータス別サブテーブル制御プラグインを導入することで実現可能です。
本プラグインにより特定のステータス時にサブテーブルの行増減を禁止にすることができます。
留意事項
サブテーブルの行増減を禁止するにはDOM操作が必要になります。
DOM操作はkintoneのアップデートで予告なく変更される場合があります。
https://cybozu.dev/ja/id/6a3e8e4cfa544930dea12c84/#coding-id-class
プラグイン販売元
紹介したプラグインは以下にて購入できます。
ステータス別サブテーブル制御プラグイン
他にもプラグインを紹介していますので興味があればご確認ください。
イデペンショップ