ツリー構造のデータについて

データには元々、ツリー構造を持つものがあります。たとえば、小規模なデータのツリーの例として、ショッピング・アプリケーションのカテゴリ、サブカテゴリおよび項目などが該当します。最上位またはルート・ノードは「店」で、その下に独自のサブノードを含む「本」および「ハードウェア」というノードがあります。

Hierarchical tree:  Shop. Books and Hardware.

ADF UIXでは、ツリーの各ノードは、キーと値のペアを含むdataObjectです。ツリーの各DataObjectには、キーと値のペアのセットが含まれる場合があります。UIX XMLで書かれた前述の階層ツリーは、このように表示されます。


Example in UIX XML:

<nodes text="店"
       destination="http://www.oracle.com"
       destinationText="詳細情報"
       expandable="expanded">
  <nodes text="本"
         destination="http://www.oracle.com"
         destinationText="詳細情報"
         description="説明: お買得、お買得、お買得!"
         expandable="expanded">
    <nodes text="セール"
           destination="http://www.oracle.com"
           expandable="expanded">
      <nodes text="文庫"
             destination="http://www.oracle.com"/>
    </nodes>
    <nodes text="フィクション"
           destination="http://www.oracle.com"/>
    <nodes text="ノンフィクション"
           destination="http://www.oracle.com"/>
  </nodes>
  <nodes text="ハードウェア"
         expandable="expanded">
    <nodes text="デスクトップ"
           destination="http://www.oracle.com"/>
    <nodes text="ノートブック"
           destination="http://www.oracle.com"/>
  </nodes>
</nodes>    

UIX XMLでは、textキーに関連する値によってノードが参照されます。たとえば、前述のツリーのルートは「店」ノードとして参照されます。nodesキーで問い合せられるノードは、子を含むDataObjectListを返します。たとえば、「店」ノードをnodesキーで問い合せると、ノード「本」および「ハードウェア」を含むDataObjectListが返されます。

ツリー・コンポーネントとbrowseMenuコンポーネントは、ツリー構造のデータを表示するように設計されています。これらのコンポーネントは、同じデータソースの異なる2つのビューを表示できます。ツリー・コンポーネントによってブラウザでレンダリングされる前述の階層ツリーは、このように表示されます。

Root Shop with  Books and Hardware subnodes

browseMenuコンポーネントによってブラウザでレンダリングされる同じ階層ツリーは、このように表示されます。

Browse menu title, 6 categories

どちらのコンポーネントを使用しても、ユーザーはツリー階層を移動できます。ツリー・コンポーネントでは、データの階層は明確に表示されます。最上位ノードは「店」であり、このノードには2つの子ノードである「本」と「ハードウェア」があります。「本」の下には、子である「セール」、「フィクション」および「ノンフィクション」があります。「セール」ノードはリーフ・ノードではありませんが、「フィクション」と「ノンフィクション」ノードはリーフ・ノードです。「文庫」は「セール」の子です。「ハードウェア」の下には、子である「デスクトップ」と「ノートブック」があります。ツリー・コンポーネントではdescriptionキーを無視し、expandableキーを使用して子のノードを表示する必要があるかどうかを決定します。

ただし、browseMenuコンポーネントでは、階層全体が表示されませんが、ルート・ノード(Shop)から現行ノード(Books)へのパスは最上部のナビゲータに表示されます。現行ノードの子(セール、フィクション、ノンフィクション)は「カテゴリ」と「項目」ヘッダーの下のリンクです。「カテゴリ」ヘッダーの下のリンクにはリーフ・ノードではないものが、「I項目」ヘッダーの下のリンクにはリーフ・ノードが表示されます。ナビゲータ内のリンクでも、ヘッダー「カテゴリ」の下のリンクでも、同じようなページが表示されます。たとえば、「セール」というリンクをクリックすると、最上部のナビゲータが「店 > 本 > セール」で、「項目」ヘッダーの下にリンク「文庫」がある同じページが表示されます。browseMenuコンポーネントではexpandableキーを無視しますが、descriptionキーを使用してノードの下のテキスト(たとえば、「説明: お買得、お買得、お買得!」)を表示します。


hGridとその名前付きの子について
treeについて
browseMenuについて

hGridの作成
ツリーの作成
browseMenuの作成
ナビゲーション・コンポーネントの使用
tableコンポーネントの使用

 

Copyright © 1997, 2004, Oracle. All rights reserved.