カテゴリー内の他の記事

レコード一覧とレコード詳細画面で条件書式を設定する

Index

概要

アプリのレコード一覧とレコード詳細画面の表示時に、フィールドの条件によってセルの背景色、文字色を変更します。

完成形

レコード一覧:

レコード詳細画面:

事前準備

サンプルプログラム

ご注意事項
  • サンプルプログラムは、その動作を保証するものではありません
  • サンプルプログラムの技術的なサポート等は行っていません

プログラム

  • エディターにサンプルプログラムをコピーし、任意のファイル名で、文字コードを「UTF-8」にして保存します。
  • 準備したアプリの設定画面で、保存したファイルを読み込みます
  • アプリの設定を完了し、レコード一覧を表示します
  • レコードの処理の状況を示すフィールド名が「ステータス」ではなく、「処理状況」になっている場合があります(2月15日アップデート以前にアプリストアから追加したアプリ)ので、その際はサンプルコード内の「ステータス」を「処理状況」に変更してお使いください

使用したAPI

  1. イベントハンドラーを登録する
  2. レコード一覧の表示後イベント
  3. レコード詳細画面の表示後イベント
  4. フィールド要素を取得する

デモ環境

https://dev-demo.cybozu.com/k/66/

※デモ環境についての説明はこちら

記事に関するフィードバック

記事のコメント欄は記事に対するフィードバックをする場となっております。
右の記事フィードバックのためのガイドを参照してコメントしてください。
記事のリンク切れなど、気になる点がある場合も、こちらのフォームからフィードバックいただけますと幸いです。

Avatar
中村

サンプルプログラムの提供ありがとうございます。
ただ、そのまま「総務への依頼受付」アプリに適用したところ、
「処理状況」の書式は変更されましたが、「至急」の書式は変更されませんでした。
サンプルプログラム30行目の
if (record['Urgent']['value'] === "至急") {
は、
if (record['Urgent']['value'][0] === "至急") {
が正しいのではないでしょうか?

Avatar
cybozu Development team

中村さま

ご指摘いただきありがとうございます。cybozu.com developer network事務局です。
中村さまにご指摘いただいた通り、配列の指定が必要になります。
上記の記事も変更させていただきました。

Avatar
Hiroki Ijichi

以下のように、レコード詳細では情報を表示されるのですが

保存直前ではnullになります。

そういったものでしょうか。このあたりを説明しているページはありますでしょうか。


kintone.events.on('app.record.detail.show', function(event) {
var elUrgent = kintone.app.record.getFieldElement('Urgent');

console.log(elUrgent);

});

kintone.events.on('app.record.edit.submit', function(event) {
var elUrgent = kintone.app.record.getFieldElement('Urgent');

console.log(elUrgent);

});

Avatar
cybozu Development team

Hiroki Ijichi 様

お世話になっております。

ご認識の通りです。
app.record.edit.submit はレコード編集画面のイベントであり、「フィールド要素を取得する」API は利用できない画面です。

https://developer.cybozu.io/hc/ja/articles/201942014#step3 に「利用できる画面」について記載しておりますので、ご参考ください。

Avatar
Kobayashi

サンプルのご提供ありがとうございます。

このサンプルに、「対応済み」ステータスを追加して、

対応済みの場合はセルの色、文字ともにデフォルトに戻したいと思っています。

文字色はブラックかな?と思うのですが、背景色は行によって異なっております。

デフォルト色はどのようなカラーコードを指定すればよろしいでしょうか。

Avatar
cybozu Development team

Kobayashi 様

お世話になっております。
cybozu developer network 運営局です。


こちらは記事に対するフィードバックとなっております。
お手数をおかけいたしますが、機能追加などの詳しいカスタマイズに関するご質問は、コミュニティをご活用いただければ幸いです。

Avatar
太田龍鳳

レコード詳細画面では条件書式が反映されているのですが、レコード一覧画面では条件書式が反映されません。

レコード一覧画面では表形式(すべて)で表示しています。

 

なにか考えられる原因はあるのでしょうか?

Avatar
cybozu Development team

太田龍鳳様

お世話になっております。cybozu developer network 運営局です。

レコードの一覧画面で、開発者ツールのコンソールに何らかのエラーメッセージが表示されているか、確認していただけないでしょうか。
開発者ツールのコンソールの確認方法は、https://developer.cybozu.io/hc/ja/articles/207613916 をご参照ください。

エラーメッセージが表示されていたら、何らか処理の途中でエラーが発生しているために、反映されていない可能性があります。
エラーメッセージを記載していただけると、原因が特定できるかもしれません。

Avatar
太田龍鳳

cybozu Development team

ご担当者様

 

エラーメッセージについては以下になります。

 

よろしくお願いします。

Avatar
cybozu Development team

太田龍鳳様

お世話になっております。cybozu developer network 運営局です。

頂いたキャプチャを見た限りでは、
一覧にはステータスがない為、ステータスの値が見つからないのではと思います。
プロセス管理を有効し、一覧にステータスを追加してから正しく動けるかご確認いただけますでしょうか。

また、エラーメッセージ下のリンクをクリックするとどのフィールドの処理にエラーが出るか調べられるはずです。

こちらは記事に対するフィードバックとなっております。
お手数をおかけいたしますが、機能追加などの詳しいカスタマイズに関するご質問は、コミュニティをご活用いただければ幸いです。

 

cybozu Development teamにより編集されました
サインインしてコメントを残してください。