検索・一覧表示(一覧表示)グリッドを利用する

最終更新日: 2022年12月5日
R8 | R9

定義方法

対象モデルの「画面 > 検索・一覧表示」で、「グリッドで表示する」を有効にします。(このとき「検索画面と一覧表示画面を同時に表示する」も自動的に有効になります。)

グリッドで表示する設定

「グリッドで表示する」を有効にしたとき、このモデルの REST API 機能が自動的に有効になります。(手動で設定する必要はありません。)

RESTAPIが有効になる

実行

グリッドで表示された一覧表示の例を示します。

グリッドで表示された一覧表示

ソート(並び替え)

あらかじめ、ソート対象項目にソートのルールを設定しておきます。[詳細...]

列名をクリックすることでソートが行われます。再びクリックすると昇順と降順が入れ替わります。

項目によってソートされる
クリックすると昇順と降順が入れ替わる

列の移動

列部分をドラッグ&ドロップで移動することができます。

「電話番号」列をドラッグ&ドロップで移動した
1. 列の表示並びは利用者毎に記憶されます。再ログオンした場合でも復元されます。

列の表示幅の変更

列の表示幅をドラッグ&ドロップで変更することができます。

各列の表示幅を変更した
2. 列の表示幅は利用者毎に記憶されます。再ログオンした場合でも復元されます。

列を非表示にする

グリッドの右端にある「+」ボタンを押下すると、表示対象列名の一覧が表示されます。

表示対象列名の一覧

列を非表示とすることができます。

「顧客ID」列を非表示にした
3. 列の非表示設定は利用者毎に記憶されます。再ログオンした場合でも復元されます。

同時表示数とページネーション

グリッドの右下にある「同時表示数」を変更することができます。変更と同時にページネーションも変わります。

同時表示数を変更する
ページネーションも変更される
4. 選択した値は利用者毎に記憶されます。再ログオンした場合でも復元されます。

設定

画面タブ内の検索・一覧表示タブに用意された「同時表示数のパターン」が反映されます。コンマ区切りで複数の数値を指定することができます。

同時表示数のパターンを設定する
5. この値を一つ(例 100)とすることで、図11のリストボックスは非表示になります。表示数は固定で、変更不可と扱います。
6. この値を空白にした場合、"10" と扱われます。(単一の値のため、リストボックスも非表示となります。)また、負数を指定することはできません。

縦スクロールバーを表示する

グリッドの縦のサイズを指定することができます。縦スクロールバーが表示されます。

縦のサイズを固定した(縦スクロールバーが表示される)

定義方法

一覧表示部分のスクロールタイプを「ヘッダ列を固定」とします。同時に、ヘッダ行固定時のテーブルの高さを指定します。単位はピクセル (px) またはエム (em) を指定してください。

ヘッダ列の設定

スクロール時にデータを読み込む(onDemand Grid)

ページネーションを使わず、スクロールバー操作時に必要に応じてデータを取得することができます。(OnDemand Gridと呼びます。)

スクロールバーに連動して必要なデータが読み込まれる

定義方法

「ページネーションを表示する」の設定を解除します。あわせて、一覧表示部分のスクロールタイプを「ヘッダ列を固定」と、ヘッダ行固定時のテーブルの高さを指定します。単位はピクセル (px) またはエム (em) を指定してください。

ページネーションの表示を解除する

一括処理

"一括処理 > グリッドでの設定"をお読みください。

設定を共通で利用する

グリッドの設定(列の表示・非表示と、並び)をユーザ間で共通利用することができます。

プレファレンス共通設定プリンシパル

「共通処理 > プレファレンス共通設定管理」プリンシパルを有効にしたアカウントは、グリッドの設定を公開できます。
この例ではアカウント「admin」に付与します。[プリンシパルの詳細...]

プレファレンス共通設定管理プリンシパル

名称変更のお知らせ

「プレファレンス共通設定管理」はR9.1.4より「プレファレンス共通設定管理」に名称が変更されました。

設定を公開する

  1. プレファレンス共通設定管理が付与されたアカウント(ここではadmin)でログオンします。
    一覧表示グリッドの右下に、共通設定名の入力欄があります。
    共通設定名の入力欄
  2. 標準の列設定を変更してみます。
    列設定の変更
  3. 変更後、右下の入力欄で共通設定名として「顧客一覧admin設定」と入力します。(名称は任意です)
    共通設定名を入力する
  4. カーソルを移動すると「保存」ボタンが表示されます。クリックして保存します。
    共通設定を保存する

共通設定を再利用する

  1. アカウント「ユーザー2」でログオンします。ユーザー2は「プレファレンス共通設定管理」プリンシパルを付与されていません。
    そのため共通設定の登録は行えませんが、既存の設定を選択することができます。
    保存された共通設定を選択する
  2. 共通設定を読み込むと、列の設定が変更されます。
    共通設定が反映された

標準の設定に戻す

リポジトリ(設計情報)に指定された標準設定に戻す場合、「グリッド設定をクリア」を選択します。

グリッド設定をクリア

標準の設定に戻ります。

標準設定に戻した

グラフの出力

一覧表示の値を使ってグラフを出力することができます。詳細は集計・グラフ > 一覧表示画面にグラフを表示するをお読みください。

仕様・制約

仕様

  • 検索と一覧表示は一つの画面にまとまります。検索画面と一覧表示画面を別にすることはできません。
  • 「一覧表示部分に横スクロールバーを表示する」設定は無効です。グリッド内で必要に応じて横スクロールバーが自動的に表示されます。(*7)
  • グリッドが提供する機能(ソート、列の並び替え、列幅の設定、列の非表示設定)を個別に無効とすることはできません。
  • グリッドのソートおよび列並び替えは、グリッドのみで有効です。ソートや列の並び替え設定は他の画面機能(印刷形式表示の画面、CSVダウンロードなど)に反映されるものではありません。
  • 全文検索と一覧表示(グリッド)の組み合わせを行うことはできません。
  • モデル参照(ラジオ、チェック)の折り返し数の設定には対応していません。
  • ラベル表記をカスタマイズすることはできません。例えばラベルの途中で改行させる、といった制御を行うことはできません。
  • 検索結果が1件のとき詳細画面へ遷移する・検索結果が1件のとき更新画面へ遷移する・検索結果が0件のとき登録画面へ遷移する機能には対応していません。
  • 親子モデル同時表示時、子モデルをグリッド表示にした場合は、子モデルの検索条件項目の一つでも必須とすることはできません。(親モデルの詳細画面で、子モデルの検索条件未入力というエラーになります。)
グリッドで横スクロールバーが表示される条件は、ラベルの幅を設定し、画面の幅に収まらなくなった場合です。なお、一覧表示項目の "出力制御 > 一覧画面 > ラベルの幅" を設定する場合、単位 ("px"など) を付与してください。単位のない設定があると、横スクロールバーが表示されなくなる場合があります。

IE利用時の注意点

  • ブラウザに IE を利用する場合、「出力制御>一覧画面>スタイル」の「ラベルの幅」を設定するようにしてください。この値が未設定の場合、IEで列が表示されない場合があります。

外部キー子モデルでグリッド表示を使う場合

「親子関係 > 親子関係を定義する > グリッド表示」をお読みください。

項目の型について

  • 複合主キーには未対応です。
  • メールアドレス、URL、ファイルはリンク形式ではなく、文字情報として表示されます。
  • ファイル型項目のアイコンはグリッドでは表示されません。

ボタンについて

  • 新規登録や更新、削除の権限に応じてボタンが表示/非表示となります。
  • グリッド内に用意されるボタン(一覧更新画面へ遷移するボタン、帳票出力ボタンなど)に表示条件を指定することができます。
  • 上に関連しますが、ユーザ定義処理に対応するオリジナルボタンの追加パラメータに ${cond.項目名} を利用することはできません。(つまり行毎に用意するボタンは、検索条件から値を取得することはできません。)
  • オリジナルボタンの下記の動作には対応していません。
    • アクションにShowSubwindowが設定されている。
    • 式が書かれているラベル。
    • 帳票出力。

利用できない設定

パフォーマンス

グリッド表示では実行時に利用者が列の非表示設定を行うことができます。
そのためモデル定義ではすべての項目の一覧表示設定を有効にして、利用者に表示列を自由に選択させるという運用を想定されるかも知れません。
しかしその場合、表示対象データをいったんサーバで作成してブラウザに送出するため、パフォーマンスが劣化します。

設計段階では、一覧表示画面で必要となる項目はできるだけ限定し、さらに利用者で表示選択させるというような方針としてください。

トラブルシューティング

ラベルの幅が揃わない / 特定のラベルの縦幅が伸びている

「出力制御>一覧画面>スタイル>ラベルの幅」の設定が行われているか、または適切な値となっているかを確認してください。

レイアウト崩れが発生した

一度「グリッド設定をクリア」を行ってください。

各画面のグリッドの表示設定は「個人設定」としてサーバに保存されています。
サーバに保存されているグリッド設定と相違があると表示が崩れる場合があります。