新規投稿
フォローする

一覧画面で一時的にフィールドの値を変更したい

一覧画面表示の際だけ、条件に基づいてフィールドの値を変更もしくは同レコード内に
フィールドと無関係な文字列を表示したいのですが、良い方法はないでしょうか?

例:
日付フィールドの値をもとに、現在より未来の日付であれば一覧の日付の後に「(期間内)」、
また過去の日付であれば同様に「(期間外)」と表示。

サンプルを元に、文字色の変更などは出来たのですが、実際のデータを更新しないで
一覧表示内でのみ表示したいのですが、アイデアを頂けると有難いです。

よろしくお願いします。

0

3件のコメント

Avatar
落合 雄一

Kenz様
cstapの落合です。

方法としては2通りあります。
①カスタマイズビューを利用して表示を全て自作する
②DOMの要素の中身を書き換える

今回は②の方が簡単かと思います。
例として、レコード番号が3以上の時と3未満で表示を変更するサンプルを紹介します。

(function() {
"use strict";

// 一覧ページ
kintone.events.on('app.record.index.show', function(event) {
    var records = event.records;

    var recordNums = kintone.app.getFieldElements('レコード番号');
    for (var i = 0; i < records.length; i++) {
        // 値の取得
        var recordNumber = records[i].レコード番号.value;

        // DOM要素の取得
        var part = recordNums[i];

        // レコード番号が3以上なら表示分け
        if (recordNumber >= 3) {
            part.innerHTML = '3以上のレコード';
        } else {
            part.innerHTML = '3未満のレコード';
        }
    }
});

})();

参考になりますでしょうか?

0
Avatar
Kenz

落合様

早速のご回答有難うございます。
やりたかったそのものが実現できました。
有難うございました。

0
Avatar
落合 雄一

Kenz様
解決したようで良かったです(^^)
また何かありましたら、お気軽にご質問ください。

0
サインインしてコメントを残してください。