テーブル内の特定のフィールドの値による背景色の変更

ご質問させてください。

レコード詳細画面内のに配置されているテーブル内の特定のフィールドに、値に応じて背景色を設定したいのですが、うまくいきません。

また、テーブルが追加されるたびに新しいテーブルにも同じ条件で背景色の変更を設定したいです。

kintoneをきっかけにjsを触り始めたので、なかなか理解が追い付かず難航しております。

とりあえず、下記の内容で特定のテーブルの背景色の変更を試してみましたが、うまくいきませんでした。
※下記はテーブル全体の背景色を変更しようとしている内容だと思うのですが、
実際はテーブル内の特定のフィールドのみ背景色を変更したいと考えています。

皆様のお知恵をお借りできれば幸いです。よろしくお願いします。

 

(function(){

“use strict”;
kintone.events.on(“app.record.detail.show”, function(event){

//フィールドコード"テーブル"のレコードオブジェクトを取得
const tablerecord = event.record.テーブル.value;
const PUitem = tablerecord[0].value.理解度.value;

console.log(PUitem);

//フィールドコード"テーブル"のフィールド要素を取得
const table = kintone.app.record.getFieldElement(“テーブル”);

console.log(table);

if(PUitem === 1){
table.style.backgroundColor = “#ffffff”;
} else if (PUitem === 2) {
table.style.backgroundColor = “#ffc0cb”;
} else if (PUitem === 4) {
table.style.backgroundColor = “#0000ff”;
}else if (PUitem === 5) {
table.style.backgroundColor = “#008000”;
}

});
})();

マツ 様

以下のように、コードを変更してみて動きました。

修正前:

if(PUitem === 1){
table.style.backgroundColor = “#ffffff”;

修正後:

if(PUitem === “1”){
table.style.backgroundColor = “#00f”;

 

取得したPUitemの値が文字列?のため、 "1"のようにクォーテーションをつけないといけないと思います。

akika様

ありがとうございます。文字列だったのですね。

無事テーブルの背景色の変更ができました。

 

もし可能であれば、この背景色の変更を値を取得したテーブルの特定のフィールド部分(PUitemの値を取得した部分)のみに

行いたいのですが可能でしょうか。

マツ 様

テーブルのフィールドの要素を取得できるAPIはありません。
kintone の HTML を直接弄ることになるので、kintone の今後のアップデートで動かなくなる可能性がありますが
以下の投稿は参考になるかと思います。

https://developer.cybozu.io/hc/ja/community/posts/900001062446/comments/900000394146

https://developer.cybozu.io/hc/ja/community/posts/360041567291

 

akika様

そうなんですね…。ありがとうございます。

一度考え直してみます…。