指定されたデータソースの行を反復します。
JSP構文
<jbo:RowsetIterate
datasource="datasourceInstanceName"
[ changecurrentrow="true | false" ]
[ userange="true | false" ]
>
[JSP tags in RowsetIterate body]
</jbo:RowsetIterate>
説明
<jbo:RowsetIterate>
タグは、指定されたデータソースの行セットの行を反復します。反復対象の行は、データソース・インスタンスで指定された範囲により限定されます。イテレータは、データソースの行セット範囲にある先頭行から最終行へ順に処理を実行します。
<jbo:RowsetIterate>
タグのボディでは、次の行に進む前に、反復行に対する操作を実行できます。たとえば、<jbo:RowsetIterate>
タグを使用し、マスター/ディテール・ページに行セット・データを表示できます。反復行からデータを抽出するためには、表示するデータソースに対してイテレータ・インスタンスを1つ作成し、ShowValueタグを使用します。
注意: <jbo:RowsetIterate>
タグのボディに挿入するタグは、RowsetIterateで指定されたデータソースからデータソース・インスタンスを取得できます。これにより、<jbo:RowsetIterate>
タグのボディに記述するタグの属性の数を減らすことができます。
changecurrentrow
属性により、データソースの行セットを反復する際に行の現在位置を変更するかどうかを制御できます。データソース内の行の現在位置を変更すると、追加の問合せが実行される場合があります。changecurrentrow
属性が有効な場合、行イテレータは現在行にマスター/ディテール・ビュー・リンクが存在するかどうかを判断し、存在する場合はディテール行を取得するために問合せが実行されます。追加の問合せが実行されないようにするには、JSPページで行の現在位置を変更してマスター/ディテール表の行セット・データを表示する必要がない場合にはchangecurrentrow
を無効にする必要があります。
注意: 順方向のみのモードでビジネス・コンポーネントのデータソースを使用するJSPページでは、<jbo:RowsetIterate>
データ・タグで現在行を変更できない場合、ランタイム例外がスローされます。順方向のみのモードが有効に設定されているデータソースを使用する場合は、changecurrentrow
をtrue
(デフォルト)のままにしておく必要があります。
<jbo:RowsetIterate>
タグで設定するイテレータには条件設定がありません。行セットの結果を制限する条件の定義は、ビジネス・コンポーネントのデータソースに対して設定する必要があります。
参照: oracle.jbo.RowIterator
属性
datasource-反復する行セットを含むデータ・ソースID。<jbo:DataSource>
データ・タグを使用してデータ・ソースを作成します。
changecurrentrow-イテレータによってデータ・ソース行セット内の位置が変更される場合に、現在行が変更されるかどうかを決定します。デフォルトのtrue
では、以前のバージョンとの下位互換性が確保されます。ただし、ほとんどの場合、複数の行セットで現在行が変更されることを避けるために、この属性をfalse
に設定します。
注意:データ・ソースで順方向のみのモードが有効である場合(たとえば、<jbo:Datasource>
のforwardonly
属性がtrue
に設定されている場合)、changecurrentrow
をtrue
に設定する必要があります。順方向のみのモードの詳細は、<jbo:DataSource>
ヘルプ・トピックを参照してください。
userange-行セット・イテレータの境界を決めるために、データ・ソース行セット上の指定された範囲をイテレータが使用するかどうかを決定します。デフォルトのfalse
では、下位互換性が確保されます。行セット全体を反復しない場合は、true
に設定します。
例
次の例では、データソースの行セットを反復して、各行のName属性のリンクを表示する表を作成します。
<jbo:RowsetIterate datasource="category_vo">
<TR>
<TD colspan=3>
<a href="srch_results.jsp?cid=<jbo:ShowValue dataitem="Id" />" target="contentsframe"> <jbo:ShowValue dataitem="Name"/></a>
</TD>
</TR>
</jbo:RowsetIterate>
Copyright © 1997, 2006, Oracle. All rights reserved.