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

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

テーブル・バインディングにより、ユーザーは、属性名(列ヘッダー)と、データ・コレクションからの値で構成される表を表示できます。 テーブル・バインディング・エディタを使用して、表示するデータ・コレクションおよび属性を選択します。

注意: ADF Business Componentsプロジェクトでは、属性にコントロール・ヒントを設定することによって属性値を更新可能にできます。その場合、ユーザーは、変更可能な属性の値を表から直接編集できます。コントロール・ヒントのラベル・テキストを設定すると、各属性に対して列ヘッダーに表示されるラベルを変更できます。

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

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

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

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

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

  5. テーブル・バインディング・エディタで、表に表示する属性が含まれる「データ・コレクション」を選択します。

    作成する表は、コレクションまたは構造化されたオブジェクトのスカラー属性に基づいている必要があります。 たとえば、return()メソッドの複雑なコレクション(配列を含む)を表としてドロップする場合、コレクションの属性はアクセッサにより定義されるため表示されません。 一方、コレクションの個々のアクセッサは属性を定義するため、表としてドロップできます。

  6. 「使用可能な属性」リストで、表示する属性を選択し、それを「属性の表示」リストに追加します。 「属性の表示」リストには、属性をいくつでも追加できます。

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

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

  8. 表の列を再編成する場合、「属性の表示」リストで属性を選択し、「選択項目を移動」矢印ボタンをクリックして、リスト内の属性を再配置します。

    リストの最上部から最下部までの属性の位置により、表の左から右への列の位置が決まります。

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

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

myTable.setModel((TableModel)panelBinding.bindUIControl("DataControlId", myTable));

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


<DCControl
         id="MyDataControl"
         DefClass="oracle.jbo.uicli.jui.JUTableDef"
         SubType="DCTable"
         IterBinding="DataCollectionIteratorId"
         ApplyValidation="false"
         <AttrNames>
            <Item Value="MySelectedAttribute1" />
			<Item Value="MySelectedAttribute2" />
			...
         </AttrNames>
</DCControl>    

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

 

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