検索画面
最終更新日: 2023年8月22日
R8 | R9
図1に用意した見積書モデルでは、得意先項目を顧客モデルから参照します。入力欄の横に用意された「検索」ボタンを押下すると、図2の検索画面が開きます。
図2の検索画面において、検索条件で絞込んだあとに「一覧表示へ」ボタンを押します。
一覧表示画面の左側に並んでいる値(ここでは氏名)を選択します。具体的にはマウスでクリックします。
顧客が選択されます。
モデル項目の型詳細設定ダイアログを開きます。入力タイプに「検索画面」を選択します。
入力フィールド長は次のルールで定められます。
選択した内容を解除する場合、項目名の横に用意されたクリアボタン(消しゴムの形をしたアイコン)を押下します。(マウスカーソルをのせると説明文が表示されます。)
選択状態が解除されます。(図7)
モデル項目詳細定義ダイアログの入力制御タブ内に用意された、モデル参照の「クリアボタンを作成する」を無効にします。(図8)
クリアボタンが用意されない例を図9に示します。この場合、一度何かを選択すると、未選択という状態に戻すことはできません。
検索ボタンを非表示に設定すると、本クリアボタンも自動的に非表示となります。
標準の「検索...」ボタンを「検」へと変更した例を図10に示します。
モデル項目詳細定義ダイアログの入力制御タブを開きます。「モデル参照(検索)」内の「ボタンを表示する」を有効とし、ボタン名を入力します。
この設定は登録・更新画面に加え、検索画面にも反映されます。
「環境 > カスタマイズ」タブの「検索画面(サブウィンドウ)のサイズ」の設定がアプリケーション全体に適用されます。初期値は高さ、幅とも500ピクセルとなっています。
その上で、モデル毎に個別に設定する場合は「画面 >検索画面」の「検索画面(サブウィンドウ)のサイズ」を設定してください。
サブウィンドウに表示される項目は、そのモデルで「一覧表示」を有効とした項目となっています。しかし、有効としなかった項目であっても(サブウィンドウに)表示される場合があります。
サブウィンドウの一覧表示では、サブウィンドウを呼び出した親ウィンドウへ値を渡す必要のある項目は、必ず(一覧表示項目として)表示される必要があります。
例えば、アカウント(juser)モデルは標準で「アカウント」「所属グループ」「名前」が一覧表示の対象項目となっています。
ここで「アカウント」項目を一覧表示から解除したとします。このとき、アカウント一覧表示画面からは「アカウント」項目は非表示となりますが、検索サブウィンドウには「アカウント」項目は表示されたままとなっています。
このケースでは、このアカウントモデルをサブウィンドウ検索で呼び出すモデルがあり、これが「アカウント」項目を表示する、という設定があるためでした。
では、一覧表示項目ではない「名前」項目を参照先モデル項目として指定した場合はどうでしょうか。この場合、サブウィンドウ検索に「名前」項目が自動的に追加されます。
モデルAに対して検索画面を使った参照を行う場合、モデルB,C,Dがそれぞれ異なる参照先モデル項目 item1,item2,item3 を指定することができます。このとき、このサブウィンドウはシステム全体で共通利用されるため、結果として item1,item2,item3 すべてがサブウィンドウ画面の一覧表示項目に含まれることになります。
この機能と同等以上の使い勝手を「サジェスト」で提供しています。サジェスト機能では主キーの値だけでなく、他の項目の値を入力することもできます。
参照先モデルの主キーを直接入力し、値を参照することができます。業務的に、主キーが業務コードとして用いられており、現場の操作者がコード体系を覚えているという場合に有効です。
図17では、商品コードを直接、入力しています。「検索...」ボタンは用意されていません。
商品コードに対応商品名、価格が連動して表示されています。
複数の商品情報を入力した例です。
なお、存在しない商品コードを入力すると、保存ボタン押下時にエラーとなります。
入力伝票となる見積書モデルで「商品コード」項目を用意します。
入力タイプを「検索画面」とします。参照先モデル項目は主キー項目を指定します。ここで主キーは業務コードとしての役割を担っているものとします。
モデル項目詳細定義ダイアログを開きます。入力制御タブ内の「モデル参照(検索)」欄で「値を直接入力できるようにする」を有効にします。あわせて「ボタンを表示する」を無効にします。(これを無効にしなかった場合は、直接入力かつ「検索...」機能の両方を利用できるユーザーインターフェースになります。)
登録、更新画面(メインウィンドウ)の入力値を、検索画面(サブウィンドウ)の検索値として受け渡すことができます。
例を示します。「営業報告書」モデルの項目「顧客名」は「顧客」モデルを参照しています。
職種の欄に予め値を設定し、「検索」ボタンを押下します。
メインウィンドウ(営業報告書)の値が、サブウィンドウ(顧客モデルの検索画面)に渡されます。
顧客モデルの定義を示します。「職種」項目(jobtype)は検索条件として用います。
営業報告書モデルの定義を示します。検索条件として引き渡す「職種」項目(jobtype)も、同様に検索条件として指定します。
営業報告書モデルの「顧客名」は、顧客モデルを参照します。入力タイプは検索画面とします。
ここで、営業報告書モデル(自モデル)内の項目「職種 (jobtype)」を、参照先モデル「顧客」の「職種 (jobtype)」と関連づけます。これが絞り込み設定になります。
これまでの設定の全体イメージは次のとおりです。
図29では(受け渡す値を保持する)項目名を指定しましたが、固定値を渡すこともできます。
検索用サブウィンドウ画面のリセットボタンを非表示とすることができます。
「画面 > 検索・一覧表示 > ボタン表示」の「リセットボタン(検索用サブウィンドウ画面)」を解除します。標準では有効(リセットボタンを表示する)となっています。
例は次のとおりです。リセットボタンが表示されていません。
参照先のデータが削除されていた場合、詳細表示画面には "存在しないデータ" と表示されます。
例と定義方法
例
定義方法
入力フィールド長
width:100%
が暗黙で設定されます。この項目を検索条件に用いたときも同様のスタイル指定が適用されます。この動作を変更する場合、入力フィールド長を指定してください。選択情報の全クリア
例
クリアボタンを非表示にする
本設定が無効となる場合
検索ボタンの名称変更
例
定義方法
ワンポイント
検索ウィンドウの幅と高さ
表示される項目のルール
理由
主キー(コード)を直接入力する
ワンポイント
例
定義方法
仕様・制約
メインウィンドウの入力値を検索条件として再利用する
例
ここで「営業報告書」モデルの項目「職種」の値を(「顧客」モデルの)サブウィンドウの検索条件として再利用します。
定義方法
絞り込みの設定
固定値を渡す
仕様・制約
応用例
サジェスト
リセットボタンを非表示にする
参照先モデルのデータが削除されていた場合
文言を変更する
複合キーのモデルを参照する
仕様・制約
例えば次のようなケースについて、
他モデルの参照(検索画面) > 他モデルの参照(リストボックス) > 通常項目
トラブルシューティング
サブウィンドウの対象行をクリックしても反応しません
表示されている行に、主キーが含まれていることを確認してください。本ページの図3は「氏名」の項目が主キー値と対応しています。このように、メインウィンドウに渡すための主キーが必要です。主キー部分を隠し項目にすることもできません。