行セットのナビゲーション・バーをページに挿入し、行操作イベントを処理する際に使用します。
<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コンポーネントでレンダリングされるナビゲーション・バーには、「First」、「Next」、「Previous」および「Last」のアクション・リンクが表示されます。ユーザーは、これらのアクション・リンクのいずれかをクリックして行の位置を変更できます。DataNavigateコンポーネントは、現在の行の位置に応じて、次の行操作アクションを処理します。
注意: ナビゲーション・バーのレンダリング時に、現在位置がデータソースの最後または最初の行にある場合、一部のアクション・リンクは使用不可の状態で表示されます。
DataNavigateコンポーネントを使用するJSPページをセッション中に初めて実行する際、行の現在位置がデータソースに存在しない場合があります。したがって、ナビゲーション・バーをレンダリングする前に、行の現在位置を明示的に設定する必要があります。行の現在位置を設定するには、DataNavigateコンポーネントを使用する任意のJSPページで、次のスクリプトレット・コードを使用します。
<% if (ViewObjectName.getRowSet().getCurrentRow() == null) { %> <jbo:RowsetNavigate datasource="myDatasource" action="First"/> <% } %>
通常、同じJSPページを使用してナビゲーション・バーの表示、行操作イベントの処理およびレコードの表示を行います。この場合、targetURLの値を指定する必要はありません。同じJSPページで操作と表示が可能なのは、DataNavigateコンポーネントが次の2つの処理を行うためです。
ただし、操作と表示を別々のJSPページで実行する場合は、targetURL属性に表示ページの名前を指定します。
datasource: <jbo:DataSource>
データ・タグで定義したデータソースID。
指定するデータソースでは、ビュー・オブジェクトを順方向のみのモードで使用しないでください。 <jbo:DataSource>
データ・タグのforwardonly
属性のデフォルト設定はfalse
です。 forwardonly
属性をtrue
に設定すると、ビジネス・コンポーネント・データ・タグ・ライブラリのコンポーネント・タグを使用するJSPページでランタイム・エラーが発生します。
relativeUrlPath: (オプション)コンポーネント・タグを実装するJSPファイルの場所。デフォルトでは、JDeveloperに用意されているDataNavigateComponent.jsp
ファイルを参照します。コンポーネントの動作をカスタマイズするために独自のコンポーネント実装ファイル(.jsp
)の名前を指定できます。カスタマイズ済の既存のコンポーネント実装ファイル(.jsp
)を参照するよう名前を編集することもできます。
作成または参照するファイルがプロジェクトのHTMLルート・ディレクトリにある場合は、相対パスを指定する必要があります。 たとえば、カスタム・コンポーネント実装ファイルMyDataNavigateComponent.jsp
をcomponents
というプロジェクトのHTMLルート・ディレクトリに作成した場合、relativeUrlPathの値は/components/MyDataNavigateComponent.jsp
になります。
次の例では、バインド先のデータソースのナビゲーション・バーを表示します。この例では、DataNavigateのターゲットはこのコンポーネントを使用するJSPです。(DataNavigateタグをJSPページに挿入すると生成される)DataNavigateコンポーネントの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, 2004, Oracle. All rights reserved.