フェッチする行のADFイテレータ・バインディングによる制限

ビジネス・サービスが行セット・イテレーションをサポートし、データを行としてフェッチする場合は、このトピックを使用してください。

セット全体の作業を避ける場合や、ページで特定の数のデータ・オブジェクトを表示する場合、バインディング・データ・コレクションからフェッチするレンジに含まれるデータ・オブジェクトの数を設定することもできます。レンジは、コレクション内のデータ・オブジェクトのサブセットにアクセスする際に使用できるウィンドウを定義します。デフォルトでは、レンジ・サイズは、ちょうど10のデータ・オブジェクトをフェッチするレンジに設定されます。

ヒント: 一般的に、1つのアプリケーションにある複数のバインディング・コンテナから参照されるすべてのイテレータ・バインディングでは、同じレンジ・サイズを使用する必要があります。その結果、バインディング・コンテナが同じデータ・コレクションに対して不必要なフェッチ操作を生成することを防止できます。アプリケーションで複数のレンジ・サイズが必要であり、開発者がOracle ADF Business Componentsを使用している場合、特定のコレクションに対してイテレータ・バインディングを作成し、一意の名前を指定することにより、2番目の行セット・イテレータを宣言的に作成(ビュー・オブジェクトのRowsetIterators内で)することもできます。

イテレータ・バインディングのレンジ・サイズを設定するには、次のようにします。

  1. ビジュアル・エディタでドキュメントが開いている状態で、「表示」->「構造」を選択し、構造ウィンドウを表示します。

  2. 構造ウィンドウのツールバーでUI Model tab iconUIモデル)をクリックし、ノードを開いてバインディングのリストを表示します。

  3. レンジ・サイズを設定するイテレータ・バインディングを選択し、「表示」->「プロパティ・インスペクタ」を選択して、プロパティ・インスペクタを開きます。

  4. プロパティ・インスペクタの「Range Size」フィールドで、値を編集し、[Enter]を押します。デフォルト値は 10です。

    -1および0という値に特定の意味があることに注意してください。値-1の場合、使用可能なオブジェクトすべてがコレクションから返されます。値0の場合、コレクションがデータソースから取得を行うために収容しているのと同じ数のオブジェクトが返されます。

データ・コントロール・パレットを使用して 「Next Set」または「Previous Set」操作(Oracle ADF Business Componentsを使用している場合は「Button」コンポーネントとして表示されます)をページにドロップすると、イテレータのレンジ・サイズはデフォルトで、一度に10のデータ・オブジェクトをフェッチするように設定されます。この動作は、そのイテレータに対してすでに確立したすべての設定より優先されます。Oracle ADF Business Componentsで一意のレンジ・サイズを維持するために、プロパティ・インスペクタで、イテレータ・バインディングに対する行セット・イテレータの名前を指定できます。

コレクションに対して2番目の行セット・イテレータを指定するには(ADF Business Componentsでのみサポートされています)、次のようにします。

  1. 構造ウィンドウで表示されているUI Model tab iconUIモデル)を使用して、一意の行セット・イテレータ名を指定するために使用するイテレータ・バインディングを選択します。

    バインディングによって操作される行セット・イテレータに一意の名前を指定することにより、他のページのイテレータ・バインディングによって、このバインディング・コンテナのサイズが再設定されないことが保証されます。

  2. プロパティ・インスペクタの「行セット・イテレータ」フィールドを見つけます。最初、このフィールドには値がありません。

  3. 選択したイテレータ・バインディングのプロパティに対して一意の識別名を入力し、[Enter]を押します。

    実行時に、カスタマイズされたイテレータ・バインディングに対応する一意の行セット・イテレータが、バインディング・コンテナにより作成されます。


Oracle ADFのバインディングについて

ADFイテレータ・バインディングを使用した新しい行の作成

 

Copyright © 1997, 2004, Oracle. All rights reserved.