ページに行セット・ナビゲーション・バーを挿入し、行ナビゲーション・イベントを処理する場合に使用します。
JSP構文
<jbo:DataNavigate
datasource="datasourceId"
[ targetURL="event-handling page | the JSP with the component" ]
[ relativeUrlPath="component's JSP page | DataNavigateComponent.jsp" ]
/>
説明
<jbo:DataNavigate>
コンポーネント・タグは、コンポーネントがバインドされているデータ・ソース上で現在の行の位置を変更可能にする場合に使用します。行の現在位置を変更すると、ユーザーがデータ・ソースを一度に1レコードずつ移動できるようになります。たとえば、DataNavigateコンポーネントを使用して現在の行を変更し、この変更をDataEditコンポーネントまたはDataRecordコンポーネントに反映させることができます。現在の行の表示に使用するコンポーネントは、DataNavigateコンポーネントと同じデータ・ソースにバインドされている必要があります。
DataNavigateコンポーネントによってレンダリングされるナビゲーション・バーには、「先頭へ」、「次へ」、「 前へ」および「最後へ」アクション・リンクが表示されます。ユーザーは、いずれかのアクション・リンクをクリックして行の位置を変更できます。DataNavigateコンポーネントは、現在の行の位置に応じて、次の行ナビゲーション・アクションを処理できます。
注意: ナビゲーション・バーがレンダリングされたときに、現在の行の位置がデータ・ソース内の最後または最初の行の場合、一部のアクション・リンクの表示が使用不可となります。
DataNavigateコンポーネントのあるJSPページをセッション中に初めて実行したとき、データ・ソースに現在の行が存在しない可能性があります。このため、ナビゲーション・バーをレンダリングする前に、現在の行を明示的に設定する必要があります。DataNavigateコンポーネントを行の現在位置に設定するには、すべてのJSPページでこのスクリプレット・コードを使用する必要があります。
<% if (ViewObjectName.getRowSet().getCurrentRow() == null) { %> <jbo:RowsetNavigate datasource="myDatasource" action="First"/> <% } %>
通常、ナビゲーション・バーの表示、行ナビゲーション・イベントの処理およびレコードの表示には、同じJSPページを使用します。この場合、targetURLの値を指定する必要はありません。DataNavigateコンポーネントが次の2つの操作を実行するため、同じJSPページでのナビゲーションと表示が可能です。
ただし、別々のJSPページに移動して表示する場合、targetURL属性で表示ページの名前を指定できます。
属性
datasource: <jbo:DataSource>
データ・タグで定義されたデータ・ソースid。
指定するデータ・ソースでは、ビュー・オブジェクトを転送専用モードで使用しないでください。<jbo:DataSource>
データ・タグのforwardonly
属性のデフォルト設定はfalse
です。forwardonly
属性をtrue
に設定した場合、ビジネス・コンポーネント・データ・タグ・ライブラリのコンポーネント・タグを使用するJSPページでは、ランタイム・エラーがスローされます。
relativeUrlPath: (オプション)コンポーネント・タグを実装するJSPファイルの場所。デフォルトでは、JDeveloperが提供するファイルDataNavigateComponent.jsp
が参照されます。コンポーネントの動作をカスタマイズするために作成するコンポーネント実装.jsp
ファイルの名前を指定できます。また、名前を編集してカスタマイズ済の既存のコンポーネント実装.jsp
ファイルを参照できます。
作成または参照するファイルがプロジェクト・ディレクトリsite
(mywork
フォルダ内)のサブディレクトリにある場合は、相対パスを指定する必要があります。たとえば、カスタム・コンポーネント実装ファイルMyDataNavigateComponent.jsp
をsite
フォルダのサブディレクトリcomponents
に作成した場合、relativeUrlPathの値は/components/MyDataNavigateComponent.jsp
になります。
例
次の例は、コンポーネントがバインドされているデータ・ソースのナビゲーション・バーを示しています。この例では、DataNavigateのターゲットは、このコンポーネントを含むJSPです。DataNavigateコンポーネントのJSPページ(JSPページにタグを挿入したときに生成される)の位置は、プロジェクトのJSPページと同じレベルにあります。現在の行がNULLの場合、データ・ソースの行の現在位置を設定するためにスクリプレット・コードが必要です。それ以外の場合、DataNavigateコンポーネントは初期化されません。
<jbo:ApplicationModule id="am" configname="package1.Package1Module.Package1ModuleLocal"
releasemode="Stateful" />
<jbo:DataSource id="myDS" appid="am" viewobject="DeptView"/>
<% if (myDS.getRowSet().getCurrentRow() == null)
{ %>
<jbo:RowsetNavigate datasource="myDS" action="First"/>
<% } %>
<jbo:DataNavigate datasource="myDS" />
Copyright © 1997, 2006, Oracle. All rights reserved.