ADFスクロール・バインディングのカスタマイズ

データ・コントロール・パレットから挿入する次のUIコンポーネントに、ADFスクロール・バインディングを設定できます。

スクロール・バインディングにより、ユーザーは、バインドされたデータ・コレクションの、現在のデータ・オブジェクトの相対的な位置を表示できます。 コントロール・サムあるいはインジケータの位置は、データ・コレクションの範囲全体のうち表示されているデータ・オブジェクトの数に比例します。 スクロールバー・バインディング・エディタを使用して、コントロールの操作対象となるデータ・コレクションを選択します。

スクロール・バインディングを設定するには、次のようにします。

  1. 「UIエディタ」でデータ・パネルを開きます。

  2. 「データ・コントロール・パレット」で、スクロールするのに必要なデータ・コレクションを選択します。

  3. 「データ・コントロール・パレット」から、目的のコントロールをデータ・パネルに追加します。

  4. 「構造」ウィンドウから、目的のコントロール用のスクロール・バインディング・エディタを表示します。

  5. スクロール・バインディング・エディタで、スクロールするデータ・オブジェクトを含む「データ・コレクション」を選択します。

  6. イテレータ・ドロップダウン・リストが、選択されたデータ・コレクションにアクセスするために、指定のイテレータをすでに表示している場合は、選択を変更しません。 ドロップダウンが空の場合、「新規」をクリックしてイテレータを作成し、ドロップダウン・リストに表示します。

    警告: ドロップダウン・リストでイテレータ選択を変更すると、前に作成した属性選択が削除されます。 イテレータの選択を変更する前に、元の属性選択を記録しておいてください。 必要に応じて「取消」を押し、元の属性選択を更新しないでバインディング・エディタを終了できます。 生成したバインディングを使用しない場合、未使用のイテレータ・バインディングをバインディング定義ファイルから削除できます。エディタで「取消」を押しても、バインディングは自動的に削除されません。

  7. データ・コレクション・オブジェクト(行)・カウントを使用できます。 通常は、「スクロール範囲の推定」を選択したままにします。 データ・コレクションによってキャッシュされていないデータベースの行をカウントする場合には、このオプションを選択します。

    注意: このオプションは、モデル・プロジェクトがOracle ADF Business Componentsを含む場合にのみ表示されます。他のビジネス・サービスがモデル・プロジェクトで生成されている場合、このオプションはサポートされません。 ADF Business Componentsモデル・プロジェクトの場合、このオプションを選択しない(つまり実際の行数を強制的にカウントする)と、そのための問合せが起動される可能性があるため、デフォルトでこのオプションが選択されています。

  8. 「OK」をクリックし、バインディング設定を保存します。

JDeveloperはjbInit()メソッド内にsetModel()メソッドを追加して、コントロール・バインディングを生成します。 たとえば、データ・コントロール・パレットからスライダを挿入後、メタデータを指定するためにDataControlIdを参照するメソッドは次のようになります。

mySlider.setModel((BoundedRangeModel)panelBinding.bindUIControl("DataControlId", mySlider));

新しいバインディング用のメタデータが、バインディング定義ファイルに表示されます(UIModel.xml)。


<DCControl
         id="SameAsDataCollectionName"
         DefClass="oracle.jbo.uicli.jui.JUScrollBarDef | JUSliderDef"
         SubType="DCScrollbar | DCSlider"
         IterBinding="DataCollectionIteratorId"
         ScrollCurrRow="true"
         DeferAssignValues="false"
         UseEstRC="true"
         Horizontral="false"
</DCControl>    

ADFバインディング とSwingコントロールについて

 

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