ドロップダウンの値でサブテーブルの一部の列を消す&制御する方法

以前、207377396-「回答の条件によってグループフィールドの開閉を切り替える」というタイトルのもので、サンプルコード内の「setGroupFieldOpen」を「setFieldShown」に書き換え、開閉ではなく非表示にすることができましたが、標題の通り、グループフィールドでなく、サブテーブルの列の一部を消す事と、あとは列の一部を入力できないように制御する方法を模索しています。

お分かりになる方がおられたら、ご教示いただきたいです。よろしくお願いします。

yt様

お世話になっております.
cstapの江田と申します.

列を入力不可にする場合は、比較的容易に実装できます。

(例)「ドロップダウン」の値が「sample1」のとき、「Table.数値」を入力不可にする。

(function(){"use strict";kintone.events.on(['app.record.create.show','app.record.edit.show','app.record.create.change.ドロップダウン','app.record.edit.change.ドロップダウン','app.record.create.change.Table','app.record.edit.change.Table',],function(event){if(event.record.ドロップダウン.value!=='sample1')return;event.record.Table.value.forEach(function(row){row.value.数値.disabled=true;});returnevent;});})();

吉田と申します。

サブテーブルの列を消す1つに、

  1. JSでサブテーブルを生成
  2. 元のサブテーブルを非表示

の方法があります。

下記、サンプルコードのリンクになります。

https://qiita.com/sy250f/items/5d31624a75b63560bddc

 

江田篤史さま

さっそく入力不可のコードをご教示いただきありがとうございます!一度試してみて上手くいかなかったのですが他のコードも併用しているので、そちらとバッティングしていないか確認して再度チャレンジしてみます。動きが楽しみです!

Kazuhiro Yoshidaさま

さっそく、サブテーブルの非表示についてご教示ありがとうございます。サンプルページ拝見させてもらい、とても理想的な動きですのでさっそく試してみたいと思います!前回も詳しいコードをいただけ勉強させてもらっています。いつもありがとうございます。

江田さま

度々すみません。やはりどの様に変えても上手く動かず、少し伺いたいのですが、「Table.数値」という部分がコード内のどこにあたるのか分からず。

これはテーブルの制御したい列のフィールド名を書けばよいでしょうか?基本的な部分がよくわかっておらず恐縮ですが、ご教示いただければ助かります。

yt様

お世話になっております。
返信遅くなりました。

分かりにくい表現で申し訳ございません。

ドロップダウンフィールドのフィールドコードが「ドロップダウン」
サブテーブルのフィールドコードが「Table」
サブテーブル内の入力不可にするフィールドのフィールドコードが「数値」
という仮定でコードを書きました。

コード内の「ドロップダウン」、「Table」、「数値」は、yt様のフィールドコードの設定に合わせて変更してください。

江田さま

ご返答が遅くなりすみません。ご教示ありがとうございました。

試してみたところ無事に入力不可にすることができ、これで使い方の幅も広がり

早速いろんなアプリで活用していこうと思います!

お忙しいん中、細かくご教示いただき大変感謝です。ありがとうございます。