カスタマイズ

一覧画面にキーワードと数値の範囲で検索する検索フォームを設置する

概要

一覧画面に主にキーワードで検索する検索フォームを設置します。

ただし、数値フィールドや計算フィールドはキーワードではなく数値の範囲で検索します。

使い方

「一覧画面にキーワードで検索する検索フォームを設置する」を実行すると一覧画面に検索フォームが表示されます。ユーザーがこの検索フォームに検索条件を入力し、「検索」ボタンを押すと、一覧画面に表示されるレコードのリストがさらに絞り込まれます。

複数のフィールドを条件として設置し、それぞれに条件を入力して検索した場合、それらの条件を「かつ(AND)」で結んだ条件で検索します。

ユーザーが現在選択している kintone の「一覧」に絞り込み条件が付いている場合、「一覧」に絞り込み条件と、ユーザーが検索フォームで入力した条件を「かつ(AND)」で結んだ条件で検索します。つまり、もともとの「一覧」の条件からさらに絞り込む形になります。

一覧画面にキーワードで検索する検索フォームを設置する」と似ていますが、「一覧画面にキーワードで検索する検索フォームを設置する」の方は、数値フィールドや計算フィールドを、範囲ではなくイコール「=」で検索します。それに対しこちらの「一覧画面にキーワードと数値の範囲で検索する検索フォームを設置する」は、数値・計算フィールドを数値の範囲で検索します。

一覧画面に簡易検索フォームを設置する」との主な違いは以下の通りです。

  • 条件となるフィールドが複数選択できます。
  • 「文字列(1行)」での検索条件が「=(等しい)」ではなくキーワード検索になります。
  • フォームの表示位置が、メニューの下になります。

メニューの下

設定するパラメーター

「検索条件フィールド」を設定します。

検索条件フィールド

検索条件として検索フォームに表示したいフィールドを選択します。

選択したフィールドを並べ替えると、その順番で検索フォームに表示されます。

選択可能なフィールドタイプと、それが検索フォーム上でどのような入力タイプになるか、どのような検索条件になるか、は以下の表の通りです。

フィールドタイプ 検索条件入力フォーム 検索条件タイプ
文字列(1行) 文字列入力 (検索条件として入力したキーワードを)含む
ルックアップ(文字列) 文字列入力 (検索条件として入力したキーワードを)含む
ルックアップ(数値) 文字列入力 =(等しい)
リンク 文字列入力 (検索条件として入力したキーワードを)含む
数値 文字列入力 (下記参照)
計算 文字列入力 (下記参照)
レコード番号 文字列入力 =(等しい)
文字列(複数行) 文字列入力 (検索条件として入力したキーワードを)含む
リッチエディター 文字列入力 (検索条件として入力したキーワードを)含む
チェックボックス 複数選択 (検索条件として選択した項目を)含む
ラジオボタン 複数選択 (検索条件として選択した項目を)含む
ドロップダウン 複数選択 (検索条件として選択した項目を)含む
複数選択 複数選択 (検索条件として選択した項目を)含む
日付 文字列入力2つ (下記参照)
添付ファイル 文字列入力 (検索条件として入力したキーワードを)含む
ステータス 複数選択 (検索条件として選択した項目を)含む

数値、計算、および日付の検索条件は、以下のようになります。

  • 左側のみ入力した場合の条件は「フィールド値 >= 左の入力条件」
  • 右側のみ入力した場合の条件は「フィールド値 <= 右の入力条件」
  • 両方入力した場合の条件は「フィールド値 >= 左の入力条件 かつ フィールド値 <= 右の入力条件」

添付ファイルフィールドについては、ファイル名とファイルの内容が判定の対象になります。

アプリに関連レコード一覧のフィールドがある場合、その関連レコード一覧が参照するアプリのフィールドも検索条件にすることができます。その場合も、選択できるフィールドタイプは上記と同じです。ただし、関連レコード一覧フィールドの「表示するフィールド」に設定されているフィールドである必要があります。「表示するフィールド」に含まれないフィールドを選んだ場合、検索を実行した際に以下のようなエラーが発生します。

レコードを読み込めません。
レコードの絞り込みに失敗しました。関連レコード一覧フィールド「XXXXXX」が参照するフィールドに、「XXXX」が見つかりません。
(GAIA_IQ17 XXXXXXXXXXXX)

計算フィールドについて、kintone アプリの設定でフィールドの表示形式を数値形式以外にしている場合は注意が必要です。この場合、検索条件を次のように入力してください。ただしバージョン 1.193(2023年6月15日リリース) 以前に「kintoneアプリへ登録」している場合はこの入力形式で検索できません。

表示形式 入力形式 入力例 備考
日時 YYYY-MM-DD HH:mm 2023-06-29 12:00 秒はつけないでください
日付 YYYY-MM-DD 2023-06-29
時刻 HH:mm 12:30 秒はつけないでください
時間 H時間m分 または D日H時間m分 1日6時間30分

上級者向け情報

設置されたフォームのHTML要素には、customine-searchformというID値がつきます。フォームは flex スタイルになっており、検索項目(フィールド)の枠がdivの子要素となります。これを利用して、アプリに CSS ファイルを登録すればフォーム表示スタイルをカスタマイズできます。

例えば、フォームのフィールド要素が多い場合に、標準では横スクロールになりますが、折り返すようにしたい場合、以下のような CSS ファイルを登録することで折り返しになります。

#customine-searchform { 
  flex-wrap: wrap; 
}

以下の例は、2番目のフィールドの入力欄を標準より小さくします。

#customine-searchform div:nth-child(2) input {
  width: 80px;
}

旧バージョンとの動作の違いについて

「検索条件フィールド」に指定したフィールドの数が多く1行で画面に入りきらない場合の表示方法が、バージョン 1.165(2022年4月7日リリース)から変更されています。

バージョン 1.164(2022年3月24日リリース)以前の Customine を使用して「kintoneアプリへ登録」している場合、画面右側へはみだして横スクロールバーが表示されます。

バージョン 1.165(2022年4月7日リリース)以降では、次の行に折り返し表示されます。

バージョン 1.165(2022年4月7日リリース)以降を使用していて、バージョン 1.164(2022年3月24日リリース)以前の表示方法がよい場合は、「検索フォームのレイアウトを変更する」を用いてください。

制限事項

  • 複数のフィールドを「または(OR)」で検索することはできません。

  • 前述の表のとおり、フィールドタイプに応じて検索条件が決まっています。それ以外の条件で検索することはできません。例えば、「文字列(1行)」の場合は必ず「含む」での検索になり「=(等しい)」で検索することはできません。

  • 1つの検索フォームの中で、「ある数値・計算フィールドはイコール「=」で検索し、ある別の数値・計算フィールドは範囲で検索する」、という設定はできません。

  • 「一覧画面にキーワードと数値の範囲で検索する検索フォームを設置する」を2つ以上設置することはできません。

  • 一覧画面にキーワードで検索する検索フォームを設置する」と併用することはできません。

  • アプリの一覧設定で、一覧の名前に重複がある場合は、「一覧の取得、または更新に失敗しました。一覧「XXXX」の名前が重複しています。重複しない名前に変更してください。」というエラーになります。

  • 日付フィールドの検索条件入力では、日付の指定を「2018-11-05」のように、ハイフン区切りで指定する必要があります。それ以外の書式、例えば「2018/11/5」のように/区切りで入力すると、検索時に「日付書式が不正です」のエラーが出ます。

  • アプリのプロセス管理設定でプロセス管理を有効にしていない場合、「ステータス」フィールドでの検索はできません。

  • 現在のログインユーザーが検索対象フィールドの閲覧権限を持っていない場合、そのフィールドの条件を入れて検索を実行すると kintone が「権限がありません。」とエラーを表示します。

関連記事