入力した数字を一覧画面で◯以上は赤、◯以下は黒と条件ごとに色を付けたいのですが、
javascriptでできますでしょうか?
始めたばかりでよくわからず、、、、よろしくお願い致します。
できます。
開発tipsのこちらあたりが参考になるかと思います。
ありがとうございます。
質問ですが、一覧画面の文字列一行のフィールドに対しては下記のjavascriptでできたのですが、こちらを数値では使用できないでしょうか?
(function() {
‘use strict’;
kintone.events.on('app.record.index.show',function(event){
let records = event.records;
let elems = kintone.app.getFieldElements('フィールド名');
console.log(records);
for(let i = 0; i<records.length; i++){
let reco = records[i];
let letter = reco.フィールド名.value; //1つのレコードのステータスの中身
let elem = elems[i];
if(letter === '赤にしたい文字'){
elem.style.fontWeight = 'bold';
elem.style.color = 'red';
}else if(letter === '黒にしたい文字'){
elem.style.fontWeight = 'bold';
elem.style.color = 'black';
}
}
return event;
});
})();
レコードから取り出したときに数値として取り出して、if文の何個以上、以下を判定でいいのかなと思います。
(function() {
‘use strict’;
kintone.events.on('app.record.index.show',function(event){
let records = event.records;
let elems = kintone.app.getFieldElements('フィールド名');
console.log(records);
for(let i = 0; i<records.length; i++){
let reco = records[i];
//数値として
let letter = Number(reco.フィールド名.value); //1つのレコードのステータスの中身
let elem = elems[i];
//数値で判定
if(letter >= 5){
elem.style.fontWeight = 'bold';
elem.style.color = 'red';
}else if(letter < 2){
elem.style.fontWeight = 'bold';
elem.style.color = 'black';
}
}
return event;
});
})();
ありがとうございます。
温度の数値フィールドで25.1℃以上は赤文字、25.0℃以下は黒文字にしたく、
下記のようにしたのですができませんでした。数値フィールドの単位は℃をつけています。
どこか違いますでしょうか?
(function() {
‘use strict’;
kintone.events.on(‘app.record.index.show’,function(event){
let records = event.records;
let elems = kintone.app.getFieldElements(‘温度’);
console.log(records);
for(let i = 0; i<records.length; i++){
let reco = records[i];
//数値として
let letter = Number(reco.温度.value); //1つのレコードのステータスの中身
let elem = elems[i];
//数値で判定
if(letter >= 25.1){
elem.style.fontWeight = ‘bold’;
elem.style.color = ‘red’;
}else if(letter <= 25.0){
elem.style.fontWeight = ‘bold’;
elem.style.color = ‘black’;
}
}
return event;
});
})();
のイコールが環境文字?になってるからだと思われます(25.1の方は大丈夫みたいです)
(function () {
"use strict";
const fieldName = "温度"
kintone.events.on("app.record.index.show", function (event) {
let records = event.records;
let elems = kintone.app.getFieldElements(fieldName);
if (!elems) return event
console.log(records);
for (let i = 0; i < records.length; i++) {
let reco = records[i];
//数値として
let letter = Number(reco[fieldName].value); //1つのレコードのステータスの中身
let elem = elems[i];
//数値で判定
if (letter >= 25.1) {
elem.style.fontWeight = "bold";
elem.style.color = "red";
} else if (letter <= 25.0) {
elem.style.fontWeight = "bold";
elem.style.color = "black";
}
}
return event;
});
})();
pomo様ありがとうございました。
反映することができました。
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。