ツリーは階層情報を明確かつ使いやすい形式で表示します。SQL問合せを使用してツリー・コントロールを作成できます。
ヒント:
Oracle Application Expressリリース5.0では、引き続き既存のjsTreeリージョンを編集できますが、作成はできなくなりました。ツリーについてを参照してください。
トピック:
アプリケーション・ビルダーには、階層表示を示すツリーを生成するための組込みウィザードが用意されています。Oracle Application Expressリリース5.0では、ツリーで新しいAPEXツリー実装が使用されます。レガシーjsTreeリージョンと同様に、この新しいツリー実装は、オプションのキーボード・ナビゲーションおよびオプションのステート保存の機能を持つ、JavaScriptベースのブラウザに依存しないツリー・コンポーネントです。APEXツリーは、jsTreeと同じ機能を共有しますが、例外として、テンプレート属性は新しいツリーに適用されません。新しい実装では、外観、有用性およびアクセシビリティも向上します。引き続き既存のjsTreeリージョンを編集できますが、作成はできなくなりました。
ツリーは、表またはビューでIDと親ID列を識別することによって階層関係を指定する問合せから作成できます。ツリー問合せでは、START WITH .. CONNECT BY
句を利用して、階層問合せを生成します。
ヒント:
APEXツリー・リージョンは、「デスクトップ」ユーザー・インタフェースを使用したページでのみ作成できます。
以前のリリースのOracle Application Expressでは、jsTreeツリー・リージョンの作成がサポートされていました。既存のツリーはまだサポートされていますが、Oracle Application ExpressではjsTreeツリー・リージョンの作成はサポートされなくなりました。Oracle Application Expressでは、現在、APEXツリーのツリー・リージョンの生成がサポートされています。APEXツリーは、jsTreeに類似したJavaScriptベースのブラウザに依存しないツリー・コンポーネントです。
この項では、ページ・デザイナでツリーを管理する方法について説明します。
ツリーは問合せに基づき、階層形式で表現できるデータを戻します。ページの作成ウィザードを使用してツリーを作成すると、ウィザードにより、選択したオプションに基づいてこの階層問合せが生成されます。
新しいページでツリーを作成するには、次のステップを実行します。
ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「ページの作成」をクリックします。
「ページの作成」で、次のステップを実行します。
ユーザー・インタフェース - 「デスクトップ」を選択します。
ページ・タイプの選択 - 「ツリー」を選択します。
「次へ」をクリックします。
「ページ属性」で、次のように指定します。
ページ番号: ツリーを作成する必要があるページを指定します。
ページ名: 新しいページにツリーを作成する場合、ページ名を入力します。
ページ・モード: ページ・モードを選択します。
ページ・グループ: このページと関連付けるページ・グループの名前を選択します。このオプションは、アプリケーションにグループが含まれる場合にのみ表示されます。
リージョン・テンプレート: ツリー・リージョンのリージョン・テンプレートを選択します。
リージョン名: ツリーを含めるリージョンの名前を入力します。
ブレッドクラム: ページでブレッドクラム・ナビゲーション・コントロールを使用するかどうか、およびどのブレッドクラム・ナビゲーション・コントロールを使用するかを選択します。「ブレッドクラム」を選択した場合、次のように入力します。
エントリ名: ブレッドクラム・エントリの名前を入力します。
親エントリの選択: 親エントリを選択します。
「次へ」をクリックします。
「ナビゲーションのプリファレンス」で、このページに含めるナビゲーションのタイプを指定し、「次へ」をクリックします。ナビゲーション・オプション(ナビゲーション・メニューまたはタブなど)はカレント・アプリケーションのテーマに応じて決まります。
「表/ビューの所有者」および「表/ビューの名前」で次を実行します。
表/ビューの所有者: ツリーの基になる表の所有者を選択します。
表/ビューの名前: マスター・ページに含める列を含む表またはビューを選択します。
「次へ」をクリックします。
「問合せ」で、IDおよび親IDとして使用する列を指定し、ノードに表示するテキストを指定します。
ID: IDとして使用する列を選択します。
親ID: 親IDとして使用する列を選択します。
ノード・テキスト: ツリー・ノードに表示するテキストを選択します。
開始: 階層ツリー問合せのルートを指定するために使用する列を選択します。
ツリーを開始: 問合せの開始方法を選択します。オプションは次のとおりです。
既存のアイテムに基づく: 既存のアプリケーション・アイテムまたはページ・アイテムを選択します。
SQL問合せに基づく: 単一行または単一列を返すSQL問合せを入力します。
静的値に基づく: 静的値を入力します。
値: NULLです。
「次へ」をクリックします。
「WHEREおよびORDER BY」で、次のように指定します。
WHERE句: オプションのWHERE
句を入力します。次に例を示します。
ename='JONE'
ORDER SIBLINGS BY: 列による兄弟の並替えを選択します(ENAME
など)。デフォルト値は、選択した「ノード・テキスト」列に基づきます。
「次へ」をクリックします。
「ツリー属性」で、次のように指定します。
ボタンを含む: 含めるボタンを選択します。
選択したノードのページ・アイテム: 選択したノード値を保持するページまたはアプリケーション・アイテムを選択します。このアイテムを使用して、最後に選択したツリー・ノードの値を保持することで、ツリーの状態を保存できます。選択したノードの値は、ノード・リンク属性またはページ・プロセスを使用して、選択したアイテムに保存できます。ツリーがリロードされると、最後に選択したツリー・ノードがツリーに開きます。
ツールチップ: マウスをリーフ・ノードに合わせたときにツールチップを表示します。オプションは次のとおりです。
静的割当て: ツールチップ・テキストとして使用する静的値を指定します。静的テキストで置換文字列を使用して、SQL問合せからの情報をツールチップ・テキストに組み込むことができます。使用可能な置換文字列は次のとおりです。
#VALUE#
: 「ID」列の値を参照します。
#TITLE#
: 「ノード・テキスト」列の値を参照します。
#LINK#
: 「リンク」オプションの値を参照します。
データベース列: ツールチップ・テキストとして使用する列を選択します。
リンク・オプション:
既存のアプリケーション・アイテム: リーフ・ノード・テキストをリンクにします。このオプションを選択する場合、リンク先のページおよびリーフ・ノード・テキストをリンクする既存アプリケーション・アイテムを指定する必要があります。
このオプションは、「既存のアプリケーション・アイテム」リンク・オプションを選択した場合にのみ表示されます。
なし
「次へ」をクリックします。
選択した内容を確認し、「作成」をクリックします。
ヒント:
APEXツリー・リージョンは、「デスクトップ」ユーザー・インタフェースを使用したページで作成できます。
重要:
レガシー・コンポーネント・ビューはデフォルトで無効化されています。レガシー・コンポーネント・ビューを有効化するには、ユーザー・プリファレンスを編集します。ユーザー・プリファレンスの編集を参照してください。
レガシー・コンポーネント・ビューは、アプリケーション・ページを編集するためのレガシー・ユーザー・インタフェースです。開発者はレガシー・コンポーネント・ビューではなくページ・デザイナを使用することをお薦めします。レガシー・コンポーネント・ビューは、ユーザー・インタフェース要素とアプリケーション・ロジックをコンポーネント・タイプ別にグループ化します。ページ・デザイナとは異なり、レガシー・コンポーネント・ビューでは、ページを視覚的に表したり、ページ・コンポーネントをドラッグ・アンド・ドロップすることができません。
ヒント:
ページ・デザイナへの移行で開発者を支援するために、ページ・デザイナには「コンポーネント・ビュー」タブが含まれています。レガシー・コンポーネント・ビューの外観と同様、ページ・デザイナの「コンポーネント・ビュー」タブには、ユーザー・インタフェース要素とアプリケーション・ロジックがコンポーネント・タイプ別に表示されます。ただし、コンポーネントをクリックすると、プロパティ・エディタの右ペインで対応する属性がハイライトされます。「コンポーネント・ビュー」タブを参照してください。
開発者は、コンポーネント・ビューでツリーを作成および編集できます。
コンポーネント・ビューでツリーを作成するには、次のステップを実行します。
ページに移動します。レガシー・コンポーネント・ビューでのページの表示を参照してください。
「リージョン」で、「作成」アイコンをクリックします。
「リージョンの作成」ウィザードが表示されます。
「ツリー」を選択し、「次へ」をクリックします。
「表示属性」は、次のようにします。
タイトル - リージョンのタイトルを入力します。選択するリージョン・テンプレートにリージョン・タイトルが表示されると、このタイトルが表示されます。
リージョン・テンプレート: リージョンの外観を制御するテンプレートを選択します。
親リージョン - 新しいリージョンが属する親リージョンを定義します。
表示ポイント: このリージョンの表示ポイントを指定します。ページ・テンプレート位置およびページ・ボディ位置の2種類の表示ポイントが存在します。属性の詳細は、フィールドレベル・ヘルプを参照してください。
順序: このコンポーネントの順序を指定します。これによって評価の順序が決まります。
「次へ」をクリックします。
「表/ビューの所有者」および「表/ビューの名前」で次を実行します。
表/ビューの所有者: ツリーの基になる表の所有者を選択します。
表/ビューの名前: マスター・ページに含める列を含む表またはビューを選択します。
「次へ」をクリックします。
「問合せ」で、IDおよび親IDとして使用する列を指定し、ノードに表示するテキストを指定します。
ID: IDとして使用する列を選択します。
親ID: 親IDとして使用する列を選択します。
ノード・テキスト: ツリー・ノードに表示するテキストを選択します。
開始: 階層ツリー問合せのルートを指定するために使用する列を選択します。
ツリーを開始: 問合せの開始方法を選択します。オプションは次のとおりです。
既存のアイテムに基づく: 既存のアプリケーション・アイテムまたはページ・アイテムを選択します。
SQL問合せに基づく: 単一行または単一列を返すSQL問合せを入力します。
静的値に基づく: 静的値を入力します。
値: NULLです。
「次へ」をクリックします。
「WHEREおよびORDER BY」で、次のように指定します。
WHERE句: オプションのWHERE
句を入力します。
ORDER SIBLINGS BY: 兄弟の並替え基準として使用する列を選択します。
「次へ」をクリックします。
「ツリー属性」で、次のように指定します。
ボタンを含む: 含めるボタンを選択します。
選択したノードのページ・アイテム: 選択したノード値を保持するために使用できます。アプリケーション・アイテムを選択した場合、このアイテムを使用して、最後に選択したツリー・ノードの値を保持することで、ツリーの状態を保存できます。
ツールチップ: マウスをリーフ・ノードに合わせたときにツールチップを表示します。オプションは次のとおりです。
静的割当て: ツールチップ・テキストとして使用する静的値を指定します。静的テキストで置換文字列を使用して、SQL問合せからの情報をツールチップ・テキストに組み込むことができます。使用可能な置換文字列は次のとおりです。
#VALUE#
: 「ID」列の値を参照します。
#TITLE#
: 「ノード・テキスト」列の値を参照します。
#LINK#
: 「リンク」オプションの値を参照します。
データベース列: ツールチップ・テキストとして使用する列を選択します。
リンク・オプション:
既存のアプリケーション・アイテム: リーフ・ノード・テキストをリンクにします。このオプションを選択する場合、リンク先のページおよびリーフ・ノード・テキストをリンクする既存アプリケーション・アイテムを指定する必要があります。
このオプションは、「既存のアプリケーション・アイテム」リンク・オプションを選択した場合にのみ表示されます。
なし
「次へ」をクリックします。
選択した内容を確認し、「リージョンの作成」をクリックします。