kViewerの一覧画面で背景色を着けたい

kViewerのリストビューの一覧画面で、あるフィールドの値が特定の値のときに、そのセルに背景色を着けたいと思い、下記のコードを書きました。
下記のjavascriptの例では、フィールドコード「f_姓」の値が「山口」のときに、背景色を青に指定しています。
ところが、このコードでは先頭の1行目の値だけしか青色になりません。どなたか分かる人はいますでしょうか。
よろしくお願いします。
(function () {
“use strict”;
kv.events.records.mounted = [(state) => {
// 特定の条件でフィールドの背景色を変更
state.records.forEach((record) => {
if (record[‘f_姓’].value === ‘山口’) {
// フィールドの背景色を青色に設定
kv.detail.getElementByCode(‘f_姓’).style.backgroundColor = ‘blue’;
}
});
return state;
}];
})();

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

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

コードをここに入力または貼り付け


詳細ページでしか使えない機能を一覧ビュー(リストビュー)で使おうとしていませんか?

JavaScriptカスタマイズ | kViewer

を参考にkv.index.なんとかで目的ものを探して試してみてください。

コードはインデントが残るように貼り付けてみてください。
質問者のコードです。

(function () {
    "use strict";
    kv.events.records.mounted = [(state) => {
        // 特定の条件でフィールドの背景色を変更
        state.records.forEach((record) => {
            if (record['f_姓'].value === '山口') {
                // フィールドの背景色を青色に設定
                kv.detail.getElementByCode('f_姓').style.backgroundColor = 'blue';
            }
        });
        return state;
    }];
})();

設定例を載せておきます。

(function () {
    "use strict";
    kv.events.records.mounted = [(state) => {
        // 特定の条件でフィールドの背景色を変更
        state.records.forEach((record) => {
            if (record['f_姓'].value === '山口') {
                // フィールドの背景色を水色に設定
                kv.index.getElementByCode(record.$id.value, "f_姓").style.backgroundColor = "#00CCFF";
            }
        });
        return state;
    }];
})();

image

aaa様
ありがとうございました。
おかげで思っていたようなアプリをつくることができました。

1 Like
(function () {
    "use strict";
    kv.events.records.mounted = [(state) => {
        // 特定の条件でフィールドの背景色を変更
        state.records.forEach((record) => {
            if (record['f_姓'].value === '山口') {
                // フィールドの背景色を青色に設定
                kv.index.getElementByCode(record.$id.value,"f_姓").style.backgroundColor = "#00CCFF"              
            }
        });
        return state;
    }];
})();

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