<jbo:DataNavigate>

行セットのナビゲーション・バーをページに挿入し、行操作イベントを処理します。

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コンポーネントでレンダリングされるナビゲーション・バーには、「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属性に表示ページの名前を指定します。

属性

次の例では、バインド先のデータソースのナビゲーション・バーを表示します。この例では、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" /> 

BC4Jコンポーネントのデータ・タグについて

BC4J JSPページへのコンポーネント・タグの追加
BC4Jコンポーネント・タグのカスタマイズ