Infocon コンポーネントについて

Infocon コンポーネントは、柔軟な「プルアウト」フォーマットでタイルフォームを表示するために使用される特別なコンテナタイプのコンポーネントです。このコンポーネントは、以下のように設定できます。

  • 多くのタイルを表示したり単一のタイルを表示するために展開したり折りたたむ
  • 折りたたんだとき、選択されたレコードの単一の値を表示するか、またはタイル全体を表示する
  • 複数のタイルが表示されるように 4 方向のいずれかに表示を展開する  
  • 展開したときに表示されるタイルの数を制限する
  • 表示可能スペースに一度に表示できる数以上のタイルがある場合、スクロールして他のタイルを表示できるオプションを提供する
  • 展開された状態のときに、ユーザが単一のタイルをクリックして選択すると、表示が再び折りたたまれるようにする

Infocon の構造と機能

以下の図は、Infocon コンポーネントの基本的な構造と機能を示しています。

  1. 選択されたコンテンツエリア:このエリアには、選択したレコードの内容が表示されます。

    ここに実際に表示される内容は、Infocon コンポーネントの [選択した項目の表示方法] プロパティによって異なります。このプロパティが [テキスト] に設定された場合、ここに表示される値は、選択したタイルの最初の表示フィールドから取得されます。[選択した項目の表示方法] プロパティが [タイル] に設定された場合、このエリアには最初のタイル全体が表示されます。

    なお、タイルはスペースの広さに適合するようにサイズ調整されませんので注意してください。スペースよりも大きい場合は、単純に切り捨てられます。このため、Infocon コンポーネントの幅と高さを定義するときは、[タイル] オプションが選択された場合にタイルが表示されるように注意を払う必要があります。つまり、Infocon のサイズは、その表示のために使用されるタイルフォームよりも大きくなければなりません。

  2. Infocon ヘッダ:これは、常に表示されるエリアです。このエリアには、[選択されたコンテンツエリア] と [ドロップダウン矢印] の両方が含まれます。

    折りたたまれた状態で Infocon が表示されているときは、このヘッダのみが表示されます。展開された状態で Infocon が表示されているときは、[展開された表示エリア] も表示されます。

  3. ドロップダウン矢印:このボタンを押すと、Infocon が折りたたまれた状態と展開された状態で切り替わります。

    このボタンの機能は、コンボボックスとドロップダウンリストコンポーネントで使用されるドロップダウン矢印と非常によく似ています。  

  4. 展開された表示エリア:このエリアは、Infocon が展開された状態のときにのみ表示されます。

    Infocon に対する [タイル方向] プロパティの設定に応じて、このエリアは [Infocon ヘッダ] エリアの枠を越えて任意の方向に展開することができます。どんな場合でも、この表示エリアは他の全てのフォーム内容の上に浮かんで表示されます。このエリアのサイズは、Infocon に対する [タイル方向]、[列のリスト]、[行のリスト] プロパティの設定で指定します。

    タイルを選択するとこのエリアは閉じられ、選択されたタイルがヘッダに表示されます。

Infocon の挙動の設計

Infocon コンポーネントと連携するようにフォームを設計する場合、[タイル方向]、[列のリスト]、および [行のリスト] プロパティが Infocon の見た目と挙動の定義に影響することを覚えておくと良いでしょう。

タイル方向が右または左の場合

[タイル方向] プロパティが [] または [] に設定された場合、以下が Infocon の挙動の全般的なルールになります。なお、これらのルールは、フォーム内の Infocon コンポーネントのサイズと設置によっては適用されない場合があるので注意してください。

  • 展開された表示エリア(前のセクションを参照)の高さは、[行のリスト] プロパティで決まります。そこで指定された数により、上下に並んで表示されるタイルの総数が決まります。
  • 返された全てのタイルが展開された表示エリアに収まらない場合は、水平のスクロールバーを使って残りのタイルを表示できるようになります。

タイル方向がダウンまたはアップの場合

[タイル方向] プロパティが [ダウン] または [アップ] に設定された場合、以下が Infocon の挙動の全般的なルールになります。なお、これらのルールは、フォーム内の Infocon コンポーネントのサイズと設置によっては適用されない場合があるので注意してください。

  • 展開された表示エリア(前のセクションを参照)の幅は、[列のリスト] プロパティで決まります。そこで指定された数により、左右に並んで表示されるタイルの総数が決まります。必要に応じて水平のスクロールバーを使用します。
  • 返された全てのタイルが展開された表示エリアに収まらない場合は、垂直のスクロールバーを使って残りのタイルを表示できるようになります。
  • 水平方向の展開が必要な場合は、展開された表示エリアは必ず右に展開します。

Infocon の挙動に関するその他の注意点

以下は、Infocon の挙動に関するその他の注意点です。

  • タイル画像は、「JIT」処理を使ってロードすることができます。スマートクライアントの場合、これはタイルの定義によります。Web クライアントの場合、まず必ずタイルが取得およびレンダリングされた後に画像がロードされます。その後、ロードされた画像がタイルに表示されます。
  • 前述したように、この全般的なルールは、フォーム内の Infocon コンポーネントのサイズと設置によっては適用されない場合があります。

    たとえば、[タイル方向] プロパティが [ダウン] に設定されている場合で、Infocon コンポーネントがフォームの一番下近くにある場合、展開された表示エリアは、[タイル方向] が [アップ] に設定されているように表示されます。

    基本的に基盤のロジックはまず、リクエストされた方向とサイズ([列のリスト] または [行のリスト] プロパティ)でポップアップパネルを表示しようとします。これに失敗すると、サイズはリクエストどおりのままで、反対方向の表示を試みます。これも失敗すると、スクロールバーが用意されてサイズが小さくなります。

    さらに、展開された表示エリアがヘッダに重なる場合もあります(Infocon の構造と機能のセクションを参照)。  

    ブラウザウィンドウの制限はより厳しいため、これは多くの場合 Web クライアントで見られます。

  • Web クライアントの場合のみ、タイルフォーム自体にボタンやハイパーリンクボタンのコンポーネントを持たせることができます。名前が付けられたイベントハンドラがホストフォームに定義されている場合に、これらのコンポーネントによってイベントがトリガされます。Infocon の処理ロジックは、イベントがトリガされる前にクリックされるボタンが含まれるタイルが選択されることを保証しています。
関連トピック