テーブル内フィールドの表示非表示

何を実現したいのかを書きましょう

テーブル内にあるドロップダウンリストで「その他」を選択した時に同じテーブル内にある「品名」のフィールドを非表示にしたいと考えています。

発生した問題やエラーメッセージを具体的に書きましょう

ドロップダウンの選択でテーブル内の表示が何も変わりません。

実行したコードをコピー&ペーストしましょう

(function(){
    "use strict";
    
    kintone.events.on([
        'app.record.create.show',
        'app.record.create.change.ラジオボタン_0',
        'app.record.create.change.テーブル',
        'app.record.create.change.ドロップダウン',
        'app.record.detail.show',
        'app.record.edit.show',
        'app.record.edit.change.ラジオボタン_0',
        'app.record.edit.change.テーブル',
        'app.record.edit.change.ドロップダウン',
    ],function(event){
        kintone.app.record.setFieldShown('申請部署', false);
        const record = event.record;
      
      
      if (record.ドロップダウン.value == 'その他') {
        //表示
        kintone.app.record.setFieldShown('品名', true);
       
        
      } else {
        //非表示
        kintone.app.record.setFieldShown('品名', false);
       
      }
      
      

ざっと拝見したところ、以下の3点を見直してはいかがでしょう。

(その1)
サブテーブル内のフィールドを表示/非表示にするには、サブテーブルの行の値オブジェクトに対して .
hidden プロパティを設定する必要があります。
const row = record[‘テーブル’].value[index].value;
row[‘品名’].hidden = (row[‘ドロップダウン’].value === ‘その他’);

(その2)
サブテーブル内のドロップダウンが変わったときに反応させるには、
‘app.record.create.change.<テーブルコード>.ドロップダウン’,
’ app.record.edit.change.<テーブルコード>.ドロップダウン’
のように <テーブルコード>.<サブフィールドコード> を指定します。

(その3)
返り値として修正済みの event を返さないと、Kintone 側に変更が反映されません。
return event;

もし、見当違いの回答でしたらすみません。

返信ありがとうございます。
(その1)の[index]には何かの数値を入れるのでしょうか?
(その2)の<テーブルコード>とはテーブルのフィールコードとは違うのでしょうか?
サブテーブルの数だけループ文で繰り返すことが必要でしょうか?
初歩的な質問で申し訳ございません。
ご回答よろしくお願いします。

(その1)の[index]には何かの数値を入れるのでしょうか?
はい、テーブルの行インデックスの値を入れます。

(その2)の<テーブルコード>とはテーブルのフィールコードとは違うのでしょうか?
テーブルのフィールドの値を操作するには、以下の様に指定する必要があります。
record.[テーブル名].value.[行番号].value.[フィールドコード].value

以下のページが参考になると思います。

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