ビジネス・コンポーネント・データ・アクセス・タグ - <jbo:RowsetNavigate>

データ・ソースの現行性または表示の範囲を移動します。

JSP構文

<jbo:RowsetNavigate
   datasource="datasourceInstanceName"
   [ action="First | Next | Previous | Last | FirstSet | NextSet| PreviousSet | LastSet" ]
/>

説明

<jbo:RowsetNavigate>タグを使用すると、データ・ソースの行の現行性を(rowkey属性を使用して)変更し、必要に応じて処理できます。

Oracle9iより前のリリースのJDeveloperでは、ユーザーがrowsetの最後のレコードを超えてスクロールしたり、先頭のレコードより前にスクロールしようとすると、<jbo:RowsetNavigate>データ・タグを使用するビジネス・コンポーネントJSPデータ・タグ・アプリケーションから例外がスローされました。Oracle9i JDeveloper以降では、rowsetに関する例外はスローされなくなりました。

アプリケーションからユーザーに対して、継続して次のように通知する場合を考えます。

ユーザーが先頭の行で「前へ」をクリックした場合に「行セットの先頭に達しました」を表示。
ユーザーが最後の行で「次へ」をクリックした場合に「行セットの最後に達しました」を表示。

このためには、アプリケーションのデータ・ソース・オブジェクトで、次のメソッドを使用する必要があります。

ds.getRowSet().hasNext()を行セットの最後の行で使用。
dsNav.getRowSet().hasPrevious()を行セットの先頭の行で使用。

これらのメソッドは、行セットの行番号を比較する方法より適しています。

参照: oracle.jbo.RowIterator

属性

<%@ taglib uri="/webapp/DataTags.tld" prefix="jbo" %>
<jbo:ApplicationModule id="OnlineOrdersModule"
configname="OnlineOrders.OnlineOrdersModule.LocalConfig"
releasemode="Stateless" />

<jbo:DataSource id="Orders" appid="OnlineOrdersModule" viewobject="OrdView" >
</jbo:DataSource>

<jbo:DataSource id="customers" appid="OnlineOrdersModule" viewobject="CustomerView" >
</jbo:DataSource>

<jbo:RowsetNavigate datasource="Orders" action="First" />

<form name="form1">   Order Id:<jbo:InputText datasource="Orders" dataitem="Id" />
  Order Date:<jbo:InputDate datasource="Orders" dataitem="Orderdate" formname="form1" />
  Customer Name:<jbo:InputSelect datasource="Orders" dataitem="CustomerId" displaydatasource="customers" displaydataitem="Id" displayvaluedataitem="Lastname" />
</form>

<jbo:RowsetNavigate datasource="Orders" action="Next" />

<form name="form2">   Order Id:<jbo:InputText datasource="Orders" dataitem="Id" />
  Order Date:<jbo:InputDate datasource="Orders" dataitem="Orderdate" formname="form2" />
  Customer Name:<jbo:InputSelect datasource="Orders" dataitem="CustomerId" displaydatasource="customers" displaydataitem="Id" displayvaluedataitem="Lastname" />
</form>

<jbo:RowsetNavigate datasource="Orders" action="Previous" />

<form name="form3">   Order Id:<jbo:InputText datasource="Orders" dataitem="Id" />
  Order Date:<jbo:InputDate datasource="Orders" dataitem="Orderdate" formname="form3" />
  Customer Name:<jbo:InputSelect datasource="Orders" dataitem="CustomerId" displaydatasource="customers" displaydataitem="Id" displayvaluedataitem="Lastname" />
</form>

<jbo:RowsetNavigate datasource="Orders" action="Last" />

<form name="form4">   Order Id:<jbo:InputText datasource="Orders" dataitem="Id" />
  Order Date:<jbo:InputDate datasource="Orders" dataitem="Orderdate" formname="form4" />
  Customer Name:<jbo:InputSelect datasource="Orders" dataitem="CustomerId" displaydatasource="customers" displaydataitem="Id" displayvaluedataitem="Lastname" />
</form>

</BODY>
</HTML>

<jbo:ReleasePageResources />