# サブテーブルの特定行を変更不可にしたいです

**URL:** <https://community.cybozu.dev/t/topic/4163>\
**Category:** kintone 開発相談\
**Created:** [2019 年 7 月 12 日午前 6:39 UTC](https://community.cybozu.dev/t/topic/4163 "2019-07-12T06:39:08Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account1913](https://avatars.discourse-cdn.com/v4/letter/l/bc79bd/32.png) [@Legacy\_Account1913](https://community.cybozu.dev/u/Legacy_Account1913)\
**Post date:** [2019 年 7 月 12 日午前 6:39 UTC](https://community.cybozu.dev/t/topic/4163/1 "2019-07-12T06:39:08Z")

</div>

お世話になります。

あるサブテーブルに複数行データがあり、その中の項目「支払状況」が「支払済」の行については変更、削除ができないようにしたいのですが、可能でしょうか？

---

<div class="post-metadata">

**Author:** ![Legacy\_Account870](https://avatars.discourse-cdn.com/v4/letter/l/cc9497/32.png) [@Legacy\_Account870](https://community.cybozu.dev/u/Legacy_Account870)\
**Post date:** [2019 年 7 月 16 日午前 2:59 UTC](https://community.cybozu.dev/t/topic/4163/2 "2019-07-16T02:59:29Z")

</div>

s-kan さん

こんにちは。ひよこです。

一部DOM操作が必要ですが、できます。

・変更できないようにする  
テーブルのフィールドに対して diabled を設定すると入力不可にできます

・削除できないようにする  
「ー」ボタンの要素をDOM操作で非活性にします。  
これは kintone 公式のAPIで操作しているわけではないので、バージョンアップなどで動かなくなる可能性があることを留意してください。

こんな感じでいかがでしょうか？

編集画面のみで動作します。  
また、テーブルに新しく行を追加したときの追加した行については動作しないので、必要であれば書き換えてください。

```
(function() {
'use strict';
kintone.events.on('app.record.edit.show', function(event) {
var table = event.record.Table.value;

table.forEach(function(row){
var fields = row.value;
var paymentStatus = row.value.支払状況;

if(paymentStatus.value === '支払済') {
// フィールドを入力不可にする
Object.keys(fields).forEach(function (fieldCode) {
fields[fieldCode].disabled = true;
});
// [-]ボタンを非活性にする
[].forEach.call(document.getElementsByClassName('remove-row-image-gaia'), function(button){
button.disabled = true;
});
}
});
return event;
});
})();

```

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1913](https://avatars.discourse-cdn.com/v4/letter/l/bc79bd/32.png) [@Legacy\_Account1913](https://community.cybozu.dev/u/Legacy_Account1913)\
**Post date:** [2019 年 7 月 16 日午前 8:26 UTC](https://community.cybozu.dev/t/topic/4163/3 "2019-07-16T08:26:18Z")

</div>

削除ボタンがすべて非活性になってしまったので、いろいろ試行錯誤しながらこのようなコードになりました。どうもありがとうございました。

&nbsp;&nbsp;&nbsp;&nbsp; kintone.events.on(‘app.record.edit.show’, function(event) {

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var table = event.record.Table.value;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(table.length\>0){  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(var i=0; i\<table.length; i++){  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var fields = table[i].value;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(fields.支払状況.value==‘支払済’){  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // フィールドを入力不可にする  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Object.keys(fields).forEach(function (fieldCode) {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fields[fieldCode].disabled = true;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(‘.remove-row-image-gaia’).eq(i).hide();&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;  
&nbsp;&nbsp;&nbsp;&nbsp; });

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1913](https://avatars.discourse-cdn.com/v4/letter/l/bc79bd/32.png) [@Legacy\_Account1913](https://community.cybozu.dev/u/Legacy_Account1913)\
**Post date:** [2019 年 7 月 16 日午前 8:26 UTC](https://community.cybozu.dev/t/topic/4163/4 "2019-07-16T08:26:47Z")

</div>

ありがとうございました。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account870](https://avatars.discourse-cdn.com/v4/letter/l/cc9497/32.png) [@Legacy\_Account870](https://community.cybozu.dev/u/Legacy_Account870)\
**Post date:** [2019 年 7 月 18 日午前 4:06 UTC](https://community.cybozu.dev/t/topic/4163/5 "2019-07-18T04:06:10Z")

</div>

s-kan さん

あ、そうですね。  
これだと確かに削除ボタン全部非活性になっちゃいますね。ごめんなさい。  
非活性は行のDOM取得して、がんばって解析していけばできなくはなそうですが、結構大変そうです…。  
でもちょっとは参考になれてよかったです！

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/1X/d5c841c3c5a6cb66eed514001c1b45147c9e1f4f.png) [@system](https://community.cybozu.dev/u/system)\
**Post date:** [2025 年 6 月 10 日午前 2:11 UTC](https://community.cybozu.dev/t/topic/4163/6 "2025-06-10T02:11:27Z")

</div>

クローズされました: 2025 年 6 月 10 日午前 2:11 UTC

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。
