ルックアップの編集不可に関して

テーブル内のルックアップフィールドを編集不可にしたいと考えています。
通常のdisabledの設定で編集不可にはできましたが、
入力欄はグレーアウトなのに、「取得」ボタンだけが表示されてしまいます。
「取得」ボタンも非表示に統一する場合、どうしたらいいでしょうか?
ご教授お願いします。
スクリーンショット_092723_070228_PM

@matsu さん

こんにちは、一応こちらの環境で少し試してみましたが、しっかりと取得のボタンまでこちらでは消えてました…
一度原因探るために該当部分のソースコード書いてみてもらってもいいですか?
image

2 Likes

@y_minamitani9534 さん
ご確認ありがとうございます。
こんな感じのコードを書いています。

kintone.events.on(“app.record.create.show”, function(event) {
const record = event.record;
const tbl = record[‘テーブル’].value;
let chk = 0;
for (let i=0; i < tbl .length; i++) {
if(tbl [i].value[‘AA’].value){
tbl[i].value[‘ルックアップ’].disabled = false;
chk = 1;
}else{
tbl[index].value[‘ルックアップ’].disabled = true;
}
}
if(chk == 1){
kintone.app.record.setFieldShown(‘ルックアップ’, true);
}else{
kintone.app.record.setFieldShown(‘ルックアップ’, false);
}
return event;
});

正常に編集不可になるものもあれば、こんな表示になったりもします。
スクリーンショット_092823_105157_AM

ここの記載が原因だと思われます。
お見受けする限り、テーブルに追加されているルックアップフィールドだと思いますけど、行ごとに表示非表示を帰れないので、このような形になってしまっていると推測しました。

1 Like

@y_minamitani9534
①基本は列が邪魔なので非表示にしたい
②でもテーブル行の一定値がある場合はルックアップを入力してほしいので表示したい
③ただ表示した時に、ルックアップ入力が不要なものは編集不可にしたい
という欲張りです。

表示/非表示に関しては、1つでも一定値があれば全部表示しようと思っています。
なのでfor分の外に出してみたのですが…
厳しいでしょうか?

ごめんなさい、よく見ると先日私が指した部分はforのスコープからでてますね…

できれば、こちらで用意してくださってる"整形済みテキスト"機能を使っていただくと、可読性があがるので、次回書かれる際は、恐縮ですがお願いしたいです :sweat_drops:

kintone.events.on("app.record.create.show", function (event) {
  const record = event.record;
  const tbl = record["テーブル"].value;
  let chk = 0;
  for (let i = 0; i < tbl.length; i++) {
    if (tbl[i].value["AA"].value) {
      tbl[i].value["ルックアップ"].disabled = false;
      chk = 1;
    } else {
      //↓ここだけなぜindexなのでしょうか?
      tbl[index].value["ルックアップ"].disabled = true;
    }
  }
  if (chk == 1) {
    kintone.app.record.setFieldShown("ルックアップ", true);
  } else {
    kintone.app.record.setFieldShown("ルックアップ", false);
  }
  return event;
});

基本的に @matsu さんがされたい事は、コードに反映できているかと思いますが、
一点だけ気になって上記のコードにコメント打ってるんですが、こちらの意図って何かございますか?

すみません、投稿初心者で「整形済みテキスト」機能の存在知りませんでした。
index無視してください!(;^_^A
コピペして引用して投稿画面で編集してたら間違って残っていただけです。実際はiです!

いえいえ、大丈夫ですよ!

ということは、こちらは実際のコードではない形なのでしょうか? :sweat_drops:
今のところ問題はまだ継続中でしょうか?
もし、継続しているのであれば、一番下の表示非表示の部分を消して実行してみて変化があるのかどうか など試してみてはいかがでしょでしょうか!

@y_minamitani9534
もう少しトライしてみます。
非表示の方を優先したいので、編集不可を諦めるかもしれないです。
ありがとうございました。

こちらの環境では、されたい事と同じことができること確認できているので、
非表示も編集不可も問題なくできると思います。
なので、できえば問題点見つけたかったですが…

1 Like

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