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

ビジネス・サービスが、データ・コレクションに対する作成操作をサポートしている場合、Webページでその操作を使用して新しい行を挿入できます。 ユーザーがフォーム上で送信操作を実行するまでは、新しい行は作成されません。 デフォルトの作成操作では作成と挿入が2つの手順に分けられているので、ユーザーは新しい空の行を表示しなくても前のページに戻ることができます(「戻る」ボタンを使用)。

注意: ADF Business Componentsをビジネス・サービスとして使用する場合は、必要に応じてコンポーネントへのインプレース挿入を可能にできます。 アクション・バインディング・エディタのCreateInsert操作は、この目的で使用できます。 詳細は次を参照してください。

作成操作を使用して新しい行を挿入するWebページを作成するには、次のようにします。

  1. 設計対象のADF対応Webページを作成します

  2. データ・コントロール・パレットを開き、表の中で表示する属性を持つコレクション・ノードを選択します。ページにより、このコレクションに対して行が追加されます。ドロップダウン・リストでデフォルトで選択されている「Read-Only Table」を変更しないでください。

    データ・コントロール・パレットではRead-Only Tableが選択表示されています

    注意: データ・コントロール階層で他のコレクション・ノードの子になっているディテール・コレクションを、データ・コレクションとして選択しないでください。この結果、イテレータ・バインディングによるナビゲーションが発生しないことが保証されます。

  3. 開いているWebページに表を挿入するには、次のようにします。

    ビジュアル・エディタで表が表示されています

    ヒント: 必要に応じて、ユーザーによるコレクションの参照を許可するナビゲーション・ボタンをページに表示できます。 ナビゲーションを使用する場合、表およびナビゲーション・ボタンはStruts <html:form>要素内に置く必要があります。

  4. 操作を挿入して行を作成するには、すでに選択したコレクションに対応する「Operations」フォルダで 「Create」を選択し、ドロップダウン・リストから「button with form」を選択します。

    データ・コントロール・パレットではCreate操作が選択表示されています

  5. データ・コントロール・パレットから、読取り専用表の最初の列に、コレクションをドラッグします(その結果、このコレクションは forEach文より上に表示されます)。

    ビジュアル・エディタに表内のCreateボタンが表示されています

  6. コミット・ボタンとHTMLフォームを作成して行作成操作をコミットするには、データ・コントロール・パレットの最上位レベルにある「Operations」ノード・フォルダから「Commit」を選択し、ドロップダウン・リストから「button with form」を選択します。

    データ・コントロール・パレットでは「Commit」が選択表示されています

    注意: データ・コントロール・パレットは、階層の最上位にあるフォルダ内で、現在のWebページのバインディング・コンテキストにあるすべてのデータ・コレクションに対して適用される操作(「Commit」「Rollback」)を表しています。

  7. ボタンとHTMLフォームをWebページに挿入するには、データ・コントロール・パレットの上端から、開いているWebページに選択項目をドラッグします。表の下にHTMLフォームを挿入します。ビジュアル・エディタのデザイン・ビューでは、「Commit」というラベルの付いたボタンをHTMLフォームの中で表示します。HTMLフォームは、ボタンを囲む破線のボックスとして表現されます。

    ビジュアル・エディタに「Commit」ボタンが表示されています

  8. 行の作成ページに対応するアクション・マッピングを作成するには、Strutsページ・フロー・ダイアグラムに戻り、次の手順を実行します。

レコード挿入フォームを使用して作成操作を処理するには、次のようにします。

  1. ページ・フロー・ダイアグラムを開き、新しいデータ・ページを挿入し( /createPage)、 それら2つの間でフォワード遷移を描きます

    ページ・フローに2つのデータ・ページが表示されています

  2. 新しいデータ・ページ用のWebページを作成し、データ・コントロール・パレットから同じコレクションを入力フォームとしてドロップします。

    データ・コントロール・パレットではInput Formが選択表示されています

  3. 作成操作のイベント名に合せて、ページ・フォワード遷移にCreateという名前を付けます。

    ページ・フローにCreate遷移が表示されています

    注意: JDeveloper 10.1.2以降では、ユーザーがレスポンスで新しい行を送信するまで、「Create」操作は新しい行を挿入しません。 表コンポーネントまたはツリー・コンポーネントへのインプレース行挿入が必要な場合は、ADF Business Componentsにより、新しい行の作成と挿入の両方が可能になります。 作成と挿入を1つのアクションとして実行する場合は、「UIモデル」でボタンのアクション・バインディングを編集し、「CreateInsert」を選択します。 また、CreateInsert操作のイベント名に合わせて、ページ・フォワード遷移の名前を変更する必要があります。

  4. ブラウズ・ページへ戻るための1つのページ・フォワード遷移を追加し、入力フォームの送信ボタン・イベント名に合せてSubmitという名前を付けます。

    ページ・フローに送信遷移が表示されています


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

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

 

 

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