一覧画面を開いた時「処理中」や「未処理」など特定の値のレコードの件数を表示できると、対応が必要なレコードの残数が一目でわかって便利ですよね。
今回は、条件に応じたレコード件数を一覧の上に表示するカスタマイズをご紹介します!
Customineの基本的な事柄は、こちらの「はじめてのカスタマイズ」をご参照ください。
アプリのフォーム
kintone側で、タスク管理アプリを準備します。
タイトル、詳細は文字列 (1行)フィールド、状態はドロップダウンを配置します。
状態の項目は、下記のように設定します。
未処理
処理中
完了
フィールドコードはフィールド名と同じに設定しておきます。
やりたいこと
一覧画面を開いた時、フィールド「状態」が「処理中」のレコード件数を表示する。
一覧画面で「状態」を編集し、保存した時「処理中」のレコード件数を再表示する。
Customineの設定
Customineに「タスク管理」アプリのカスタマイズを追加します。
状態が「処理中」のレコードを取得する その1
やること
状態が「処理中」の全てのレコード(※注:一覧画面で現在表示されていないレコードも含む)を取得したいので、「キーを指定してレコードを取得する」を選択します。
取得先アプリは「タスク管理」、キーとなるフィールドには「状態」を指定します。
「状態」が「処理中」のレコードを取得したいので、キーの値には「処理中」と入力します。
なお、一覧画面で現在表示されているレコードのみを対象とする場合は「一覧で画面に表示されているレコードを取得する」を使う形になります。このケースについては次のドキュメントに例がありますので、併せてご覧ください。
条件
一覧画面を表示したとき件数を取得したいので「一覧画面を表示した時」を選択します。
条件指定して取得したレコードの件数をカウントする その1
やること
「状態が「処理中」のレコードを取得する その1」で取得したレコードの件数をカウントしたいので「レコード行数をカウントする」を選択します。
レコード選択アクションには「1」を指定します。
結果をセットするフィールドは、何も指定せず〈選択されていません〉の状態にしておいてください。
条件
「状態が「処理中」のレコードを取得する その1」でレコードの取得が完了してからカウントしたいので「他のアクションの実行が完了した時」を選択します。
アクションは「1」を指定してください。
カウントしたレコードの件数を表示する
やること
「メニュー位置に文字を表示する」を選択します。
場所は、レコードのタイトルのすぐ上に表示したいので「一覧画面メニューの下側」を選択します。
表示位置は「レコード詳細メニューの上側」「一覧画面メニューの右側」など選べますので、試してみてください。
表示するテキストは「処理中のレコード件数:10」のように表示したいので「処理中のレコード件数:${$2}」と入力します。
「${$2}」と入力することで、アクション「2」の結果(今回は「条件指定して取得したレコードの件数をカウントする その1」でカウントした件数)を表示できます。
条件
アクション「条件指定して取得したレコードの件数をカウントする」でカウントが完了してから表示したいので「他のアクションの実行が完了した時」を選択します。
アクションは「2」を指定してください。
これで、一覧画面を表示したときに「処理中」のレコード件数を表示するカスタマイズができました。
「kintoneアプリへ登録」し、動作を確認してみましょう!
kintoneのタスク管理アプリにレコードを追加し、「処理中」のレコードの件数を確認します。
状態が「処理中」のレコード件数が表示されましたでしょうか?
一見完成したように見えますが、一覧画面で、「処理中」のレコードを「完了」に変更して保存してみると……
処理中のレコード件数は2件のままです。
画面を更新すれば正しい件数である1件になりますが、これでは少し不便です。
では、一覧画面で「状態」を変更した時にもレコード件数が正しく表示されるように、カスタマイズを追加しましょう!
状態が「処理中」のレコードを取得する その2
やること
状態が「処理中」のレコードを取得したいので、「キーを指定してレコードを取得する」を選択します。
取得先アプリは「タスク管理」、キーとなるフィールドには「状態」を指定します。
「状態」が「処理中」のレコードを取得したいので、キーの値には「処理中」と入力します。
条件
レコードを保存した時に件数を取得したいので「レコードを保存した直後(削除後は除く)」を選択します。
条件指定して取得したレコードの件数をカウントする その2
やること
「状態が「処理中」のレコードを取得する その2」で取得したレコードの件数をカウントしたいので「レコード行数をカウントする」を選択します。
レコード選択アクションには「4」を指定します。
結果をセットするフィールドは、何も指定せずにおいてください。
条件
「状態が「処理中」のレコードを取得する その2」でレコードの取得が完了してからカウントしたいので「他のアクションの実行が完了した時」を選択します。
アクションは「4」を指定してください。
レコード件数を変更後の件数に更新して表示する
やること
一覧画面を表示した時に表示したレコード件数を変更して表示したいので、「スペース・メニュー・ポータル位置に表示した文字を変更する」を選択します。
変更元は、「カウントしたレコードの件数を表示する」のアクションを指定したいので「3」を指定します。
表示するテキストには「条件指定して取得したレコードの件数をカウントする その2」のカウント結果を表示したいので「処理中のレコード件数:${$5}」と指定します。
条件
アクション「条件指定して取得したレコードの件数をカウントする その2」でカウントが完了してから表示したいので「他のアクションの実行が完了した時」を選択します。
アクションは「5」を指定してください。
これでカスタマイズは完了です!
一覧画面で状態を変更し、レコード件数が更新されるか試してみてください。
まとめ
条件に一致するレコードの件数を一覧画面に表示するカスタマイズ、いかがでしたか?
一覧画面を使いやすくするために、ぜひお役立てください!
また、実際に作成してみられてご不明な点などございましたら、お気軽にチャットでご質問ください。